public void AddMedRecord(string guid, string idLpu, string idPatientMis, MedRecord mr, string idCaseMis = "") { try { client.AddMedRecord(guid, idLpu, idPatientMis, idCaseMis, mr); TestMasterCase tmc = TestMasterCase.BuildTestMasterCase(guid, idLpu, idPatientMis, idCaseMis); if (Global.IsEqual(tmc, null)) Global.errors1.Add("Case " + idCaseMis + " не найден в базе данных"); else if (!tmc.CheckDocumentInCase(mr, idLpu)) Global.errors1.Add("Не добавлен"); } catch (System.ServiceModel.FaultException<List<PixServiseTests.EMKServise.RequestFault>> e) { getErrors(e.Detail); } catch (System.ServiceModel.FaultException<PixServiseTests.EMKServise.RequestFault[]> e) { getErrors(e.Detail); } catch (System.ServiceModel.FaultException<PixServiseTests.EMKServise.RequestFault> e) { Global.errors1.Add(e.Detail.PropertyName + " - " + e.Detail.Message); getErrors(e.Detail.Errors); } }
public async Task <IActionResult> PutMedRecord(int id, MedRecord medRecord) { if (id != medRecord.id) { return(BadRequest()); } _context.Entry(medRecord).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MedRecordExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <MedRecord> > PostMedRecord(MedRecord medRecord) { _context.medRecord.Add(medRecord); await _context.SaveChangesAsync(); return(CreatedAtAction("GetMedRecord", new { id = medRecord.id }, medRecord)); }
public List<string> CheckMedRecord_ForGetMedRecord(int idmedrec, MedRecord medRecord) { var errorList = new List<string>(); using (var conn = new SqlConnection(Data.connString)) { // ищем пациента в бд var que = "SELECT IdMedDocument, FhirCode, DocHead, AttachmentURl, CreationDate, IdDoctor, MIMEType " + "FROM MedDocument join [nsi].[MedDocumentType] " + "ON MedDocument.IdMedDocumentType = [nsi].[MedDocumentType].IdMedDocumentType " + "WHERE [dbo].[MedDocument].IdMedDocument = '" + idmedrec + "'"; conn.Open(); SqlCommand command = new SqlCommand(que); command.Connection = conn; SqlDataReader dataReader = command.ExecuteReader(); if (dataReader.Read()) errorList.AddRange(Check_InfoMedRecord(dataReader, medRecord)); dataReader.Close(); conn.Close(); return errorList; } }
public void AddMedRecord_ToCase_AmbCaseWithLaboratoryReportMin() { using (TestPixServiceClient c = new TestPixServiceClient()) { PatientDto patient = (new SetData()).PatientSet(); c.AddPatient(Global.GUID, Data.idlpu, patient); } using (TestEmkServiceClient client = new TestEmkServiceClient()) { CaseAmb caseAmb = (new SetData()).MinCaseAmbSet(); client.AddCase(Global.GUID, caseAmb); MedRecord medRecord = (new SetData()).MinLaboratoryReport(); client.AddMedRecord(Global.GUID, Data.idlpu, caseAmb.IdPatientMis, medRecord, caseAmb.IdCaseMis); } if (Global.errors == "") { Assert.Pass(); } else { Assert.Fail(Global.errors); } }
public void AddMedRecord_ToCase_StatCaseWithTfomsInfoMin() { using (TestPixServiceClient c = new TestPixServiceClient()) { PatientDto patient = (new SetData()).PatientSet(); c.AddPatient(Global.GUID, Data.idlpu, patient); } using (TestEmkServiceClient client = new TestEmkServiceClient()) { CaseStat caseStat = (new SetData()).MinCaseStatSet(); client.AddCase(Global.GUID, caseStat); MedRecord medRecord = (new SetData()).MinTfomsInfo(); client.AddMedRecord(Global.GUID, Data.idlpu, caseStat.IdPatientMis, medRecord, caseStat.IdCaseMis); } if (Global.errors == "") { Assert.Pass(); } else { Assert.Fail(Global.errors); } }
public void AddMedRecord_ToPatient_StatCaseWithLaboratoryReportFull() { using (TestPixServiceClient c = new TestPixServiceClient()) { PatientDto patient = (new SetData()).PatientSet(); c.AddPatient(Global.GUID, Data.idlpu, patient); } using (TestEmkServiceClient client = new TestEmkServiceClient()) { CaseStat caseStat = (new SetData()).MinCaseStatSet(); client.AddCase(Global.GUID, caseStat); MedRecord medRecord = MedRecordData.LaboratoryReport; client.AddMedRecord(Global.GUID, Data.idlpu, caseStat.IdPatientMis, medRecord); } if (Global.errors == "") { Assert.Pass(); } else { Assert.Fail(Global.errors); } }
public void AddMedRecord(string guid, string idLpu, string idPatientMis, MedRecord mr, string idCaseMis = "") { try { client.AddMedRecord(guid, idLpu, idPatientMis, idCaseMis, mr); TestMasterCase tmc = TestMasterCase.BuildTestMasterCase(guid, idLpu, idPatientMis, idCaseMis); if (Global.IsEqual(tmc, null)) { Global.errors1.Add("Case " + idCaseMis + " не найден в базе данных"); } else if (!tmc.CheckDocumentInCase(mr, idLpu)) { Global.errors1.Add("Не добавлен"); } } catch (System.ServiceModel.FaultException <List <PixServiseTests.EMKServise.RequestFault> > e) { getErrors(e.Detail); } catch (System.ServiceModel.FaultException <PixServiseTests.EMKServise.RequestFault[]> e) { getErrors(e.Detail); } catch (System.ServiceModel.FaultException <PixServiseTests.EMKServise.RequestFault> e) { Global.errors1.Add(e.Detail.PropertyName + " - " + e.Detail.Message); getErrors(e.Detail.Errors); } }
public void DownloadVisiting(MedRecord medRecord) { Visitings = new ObservableCollection <Visiting>(); context = new MedAppDBEntities(); List <Visiting> temp = context.Visiting.Where(i => i.IDMedRecord == medRecord.Id).ToList(); foreach (var item in temp) { Visitings.Add(item); } }
public void DownloadXrays(MedRecord medRecord) { Photos = new ObservableCollection <Xrays>(); context = new MedAppDBEntities(); List <Xrays> temp = context.Xrays.Where(i => i.IdMedRecord == medRecord.Id).ToList(); foreach (var item in temp) { Photos.Add(item); } }
public List<string> CheckMedRecord_ForReadCase(string idcase, MedRecord medRecord) { var errorList = new List<string>(); bool MedRecordExist = false; using (var conn = new SqlConnection(Data.connString)) { // ищем пациента в бд var que = "SELECT IdMedDocument, FhirCode, DocHead, AttachmentURl, CreationDate, MedDocument.IdDoctor, MIMEType " + "FROM MedDocument join [nsi].[MedDocumentType] " + "ON MedDocument.IdMedDocumentType = [nsi].[MedDocumentType].IdMedDocumentType " + "join Step " + "ON MedDocument.IdStep = Step.IdStep " + "WHERE [dbo].[Step].IdCase = '" + idcase + "'"; // "WHERE [dbo].[MedDocument].IdStep = " + // "(SELECT IdStep " + // "FROM [dbo].[Step] " + // "WHERE ([dbo].[Step].IdCase = '" + idcase + "') and " + // "([dbo].[Step].IdDoctor IS NULL) )"; conn.Open(); SqlCommand command = new SqlCommand(que); command.Connection = conn; SqlDataReader dataReader = command.ExecuteReader(); while (dataReader.Read()) { //если нашли такой id => нужный MedRecord if (medRecord.Id.ToString() == dataReader["IdMedDocument"].ToString()) { MedRecordExist = true; errorList.AddRange(Check_InfoMedRecord(dataReader, medRecord)); } } if (!MedRecordExist) errorList.Add("MedRecord не найден в БД"); dataReader.Close(); conn.Close(); } return errorList; }
public void AddMaxDiagnosis() { using (TestPixServiceClient c = new TestPixServiceClient()) { PatientDto patient = (new SetData()).PatientSet(); c.AddPatient(Global.GUID, Data.idlpu, patient); } using (TestEmkServiceClient client = new TestEmkServiceClient()) { CaseAmb caseAmb = (new SetData()).MinCaseAmbSet(); MedRecord r = MedRecordData.diagnosis; client.AddCase(Global.GUID, caseAmb); client.AddMedRecord(Global.GUID, caseAmb.IdLpu, caseAmb.IdPatientMis, r, caseAmb.IdCaseMis); } if (Global.errors == "") { Assert.Pass(); } else { Assert.Fail(Global.errors); } }
public void AddMinDispanseryOne() { using (TestPixServiceClient c = new TestPixServiceClient()) { PatientDto patient = (new SetData()).PatientSet(); c.AddPatient(Global.GUID, Data.idlpu, patient); } using (TestEmkServiceClient client = new TestEmkServiceClient()) { CaseAmb caseDisp = (new SetData()).MinCaseDispSet(); MedRecord r = (new SetData()).MinDispensaryOne(); client.AddCase(Global.GUID, caseDisp); client.AddMedRecord(Global.GUID, caseDisp.IdLpu, caseDisp.IdPatientMis, r, caseDisp.IdCaseMis); } if (Global.errors == "") { Assert.Pass(); } else { Assert.Fail(Global.errors); } }
public TimetableVIewModel(bool a) { if (a) { DownloadTimetables(); } FilterCollectionView.Filter = i => { if (_searchKey == "" || _searchKey == null) { return(true); } if (string.IsNullOrEmpty(FilterString)) { return(true); } if (_searchKey == "Фамилия") { MedRecord m = i as MedRecord; return(m.Surname.ToString().StartsWith(FilterString)); } if (_searchKey == "Имя") { MedRecord m = i as MedRecord; return(m.Name.ToString().StartsWith(FilterString)); } if (_searchKey == "Отчество") { MedRecord m = i as MedRecord; return(m.Patronymic.ToString().StartsWith(FilterString)); } if (_searchKey == "Город") { MedRecord m = i as MedRecord; return(m.City.ToString().StartsWith(FilterString)); } if (_searchKey == "Улица") { MedRecord m = i as MedRecord; return(m.Street.ToString().StartsWith(FilterString)); } if (_searchKey == "Дом") { MedRecord m = i as MedRecord; return(m.Home.ToString().StartsWith(FilterString)); } else { return(true); } }; EditTimetable = new DelegateCommand(() => { editoradd = false; var w = new MedRecordEdit(); w.DataContext = this; w.ShowDialog(); }, () => selectedTimetable != null); //AddTimetable = new DelegateCommand(() => //{ // editoradd = true; // Timetable timetable = new Timetable(); // SelectedTimetable = timetable; // var w = new MedRecordEdit(); // w.DataContext = this; // w.Show(); //}); //SaveTimetable = new DelegateCommand(() => //{ // if (editoradd == true) // { // context.Timetable.Add(SelectedTimetable); // context.SaveChanges(); // Timetables.Add(SelectedTimetable); // } // else // { // context.Entry(selectedTimetable).State = EntityState.Modified; // context.SaveChanges(); // } //}); //RemoveTimetable = new DelegateCommand(() => //{ // if (MessageBox.Show("Удалить?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) // { // context.Entry(SelectedTimetable).State = EntityState.Deleted; // Timetables.Remove(SelectedTimetable); // context.SaveChanges(); // } // else // { // return; // } //}, () => selectedTimetable != null); //CanselEdit = new DelegateCommand(() => //{ // if (editoradd == false) // { // if (selectedTimetable == null) return; // SelectedTimetable.CancelEdit(); // } // else // { // return; // } //}); }
public MedRecordOpenViewModel(MedRecord medRecord, Employee employee) { currentMedRecord = medRecord; currentEmployee = employee; DownloadXrays(medRecord); DownloadVisiting(medRecord); Diagnosings = DiagnosisViewModel.DiagnosisTake(); Medicaments = MedicamentViewModel.MedicamentsTake(); EditXrays = new DelegateCommand(() => { editoradd = false; selectedXrays?.BeginEdit(); var w = new XraysEdit(); w.DataContext = this; w.ShowDialog(); }, () => selectedXrays != null); AddXrays = new DelegateCommand(() => { editoradd = true; Xrays xrays = new Xrays(); SelectedXrays = xrays; var w = new XraysEdit(); w.DataContext = this; w.Show(); }); SaveXrays = new DelegateCommand(() => { if (editoradd == true) { selectedXrays.IdMedRecord = currentMedRecord.Id; context.Xrays.Add(selectedXrays); context.SaveChanges(); Photos.Add(SelectedXrays); } else { context.Entry(selectedXrays).State = EntityState.Modified; context.SaveChanges(); } }, () => selectedXrays.Photo != null); RemoveXrays = new DelegateCommand(() => { if (MessageBox.Show("Удалить?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { context.Entry(selectedXrays).State = EntityState.Deleted; Photos.Remove(selectedXrays); context.SaveChanges(); } else { return; } }, () => selectedXrays != null); CanselXrays = new DelegateCommand(() => { if (editoradd == false) { if (selectedXrays == null) { return; } SelectedXrays.CancelEdit(); } else { return; } }); AddImage = new DelegateCommand(() => { OpenFileDialog dlg = new OpenFileDialog(); dlg.InitialDirectory = ""; dlg.Filter = "Image files (*.jpg,*.png,*.bmp)|*.jpg;*.png;*.bmp|All Files (*.*)|*.*"; if (dlg.ShowDialog() == true) { string selectedFileName = dlg.FileName; selectedXrays.Photo = ConvertImageToByteArray(selectedFileName); SaveXrays.RaiseCanExecuteChanged(); } }); #region Visiting EditVisiting = new DelegateCommand(() => { editoradd = false; var w = new VisitingEdit(); w.DataContext = this; w.ShowDialog(); }, () => selectedVisiting != null); AddVisiting = new DelegateCommand(() => { editoradd = true; Visiting visiting = new Visiting(); SelectedVisiting = visiting; var w = new VisitingEdit(); w.DataContext = this; w.Show(); }); SaveVisiting = new DelegateCommand(() => { if (editoradd == true) { selectedVisiting.IDEmployee = currentEmployee.Id; selectedVisiting.IDMedRecord = currentMedRecord.Id; currentMedRecord = context.MedRecord.Find(currentMedRecord.Id); currentEmployee = context.Employee.Find(currentEmployee.Id); currentMedicament = context.Medicament.Find(selectedVisiting.IDMedicament); currentDiagnosis = context.Diagnosis.Find(selectedVisiting.IDDiagnosis); //Diagnosings = DiagnosisViewModel.DiagnosisTake(); //Medicaments = MedicamentViewModel.MedicamentsTake(); context.Visiting.Add(selectedVisiting); context.SaveChanges(); Visitings.Add(SelectedVisiting); } else { currentMedRecord = context.MedRecord.Find(currentMedRecord.Id); currentEmployee = context.Employee.Find(currentEmployee.Id); currentMedicament = context.Medicament.Find(selectedVisiting.IDMedicament); currentDiagnosis = context.Diagnosis.Find(selectedVisiting.IDDiagnosis); context.Entry(selectedVisiting).State = EntityState.Modified; context.SaveChanges(); } }); RemoveVisiting = new DelegateCommand(() => { if (MessageBox.Show("Удалить?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { context.Entry(selectedVisiting).State = EntityState.Deleted; Visitings.Remove(selectedVisiting); context.SaveChanges(); } else { return; } }, () => selectedVisiting != null); CanselVisiting = new DelegateCommand(() => { if (editoradd == false) { if (selectedVisiting == null) { return; } SelectedVisiting.CancelEdit(); } else { return; } }); ExportVisiting = new DelegateCommand(() => { try { Microsoft.Office.Interop.Excel.Application exApp = new Microsoft.Office.Interop.Excel.Application(); Workbook workbook = exApp.Workbooks.Add(Type.Missing); Worksheet workSheet = (Worksheet)exApp.ActiveSheet; workSheet.Cells[1, 1] = "ФИО пациента"; workSheet.Cells[1, 2] = "ФИО врача"; workSheet.Cells[1, 3] = "Дата"; workSheet.Cells[1, 4] = "Жалобы"; workSheet.Cells[1, 5] = "Начало болезни"; workSheet.Cells[1, 6] = "Текущее состояние"; workSheet.Cells[1, 7] = "Дополнительно"; workSheet.Cells[1, 8] = "Медикамент"; workSheet.Cells[1, 9] = "Диагноз"; int rowExcel = 2; foreach (var item in Visitings) { workSheet.Cells[rowExcel, "A"] = item.MedRecord.Surname + item.MedRecord.Name + item.MedRecord.Patronymic; workSheet.Cells[rowExcel, "B"] = item.Employee.Surname + item.Employee.Name + item.Employee.Patronymic; workSheet.Cells[rowExcel, "C"] = item.Date; workSheet.Cells[rowExcel, "D"] = item.Complaints; workSheet.Cells[rowExcel, "E"] = item.StartDisease; workSheet.Cells[rowExcel, "F"] = item.StatePraesens; workSheet.Cells[rowExcel, "G"] = item.Additionally; workSheet.Cells[rowExcel, "H"] = item.Medicament.Name; workSheet.Cells[rowExcel, "I"] = item.Diagnosis.Name; ++rowExcel; } //workbook.Close(); exApp.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(exApp); } catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка записи в Excel"); } }); #endregion }
private List<string> Check_InfoMedRecord(SqlDataReader dataReader, MedRecord medRecord) { var errorList = new List<string>(); if (medRecord.MedRecordType != dataReader["FhirCode"].ToString()) errorList.Add("MedRecordType заполнен некорректно"); if (medRecord.Title != dataReader["DocHead"].ToString()) errorList.Add("Title заполнен некорректно"); if ((dataReader["AttachmentURl"] == DBNull.Value && medRecord.Url != null) || (dataReader["AttachmentURl"] != DBNull.Value && medRecord.Url != dataReader["AttachmentURl"].ToString())) errorList.Add("Url заполнен некорректно"); if (medRecord.CreationDate.ToString() != dataReader["CreationDate"].ToString()) errorList.Add("CreationDate заполнен некорректно"); if ((dataReader["MIMEType"] == DBNull.Value && medRecord.MIMEType != null) || (dataReader["MIMEType"] != DBNull.Value && medRecord.MIMEType != dataReader["MIMEType"].ToString())) errorList.Add("MimeType заполнен некорректно"); //Size, Hash where is it?? errorList.AddRange(CheckDoctor(dataReader["IdDoctor"].ToString(), medRecord.Author)); return errorList; }
public bool CheckDocumentInCase(MedRecord i, string idLpu) { TestMedRecord doc = null; Service serv = i as Service; if (serv != null) doc = new TestService(serv); TfomsInfo tfi = i as TfomsInfo; if (tfi != null) doc = new TestTfomsInfo(tfi); DeathInfo di = i as DeathInfo; if (di != null) doc = new TestDeathInfo(di); Diagnosis diag = i as Diagnosis; if ((diag != null) && (diag.DiagnosisInfo.IdDiagnosisType != TestDiagnosis.IdClinicMainDiagnosis)) doc = new TestDiagnosis(diag, idLpu); ClinicMainDiagnosis cmd = i as ClinicMainDiagnosis; if ((cmd != null) && (cmd.DiagnosisInfo.IdDiagnosisType == TestDiagnosis.IdClinicMainDiagnosis)) doc = new TestClinicMainDiagnosis(cmd, idLpu); AnatomopathologicalClinicMainDiagnosis acmd = i as AnatomopathologicalClinicMainDiagnosis; if ((acmd != null) && (cmd.DiagnosisInfo.IdDiagnosisType == TestDiagnosis.IdClinicMainDiagnosis)) doc = new TestClinicMainDiagnosis(acmd, idLpu); Referral r = i as Referral; if (r != null) doc = new TestReferral(r, idLpu); SickList sl = i as SickList; if (sl != null) doc = new TestSickList(sl, idLpu); DischargeSummary ds = i as DischargeSummary; if (ds != null) doc = new TestDischargeSummary(ds, idLpu); LaboratoryReport lr = i as LaboratoryReport; if (lr != null) doc = new TestLaboratoryReport(lr, idLpu); ConsultNote cn = i as ConsultNote; if (cn != null) doc = new TestConsultNote(cn, idLpu); DispensaryOne d1 = i as DispensaryOne; if ((d1 != null) && (caseBase.idCaseType == dispensaryId)) doc = new TestDispensaryOne(d1, idLpu); AppointedMedication ap = i as AppointedMedication; if (ap != null) doc = new TestAppointedMedication(ap, idLpu); Form027U form = i as Form027U; if (form != null) doc = new TestForm027U(form, idLpu); if (Global.IsEqual(doc, null)) { Global.errors1.Add("Документ не найден"); return true; } foreach (TestMedRecord document in this.medRecords) if (Global.IsEqual(doc, document)) return true; return false; }
public bool CheckDocumentInCase(MedRecord i, string idLpu) { TestMedRecord doc = null; Service serv = i as Service; if (serv != null) { doc = new TestService(serv); } TfomsInfo tfi = i as TfomsInfo; if (tfi != null) { doc = new TestTfomsInfo(tfi); } DeathInfo di = i as DeathInfo; if (di != null) { doc = new TestDeathInfo(di); } Diagnosis diag = i as Diagnosis; if ((diag != null) && (diag.DiagnosisInfo.IdDiagnosisType != TestDiagnosis.IdClinicMainDiagnosis)) { doc = new TestDiagnosis(diag, idLpu); } ClinicMainDiagnosis cmd = i as ClinicMainDiagnosis; if ((cmd != null) && (cmd.DiagnosisInfo.IdDiagnosisType == TestDiagnosis.IdClinicMainDiagnosis)) { doc = new TestClinicMainDiagnosis(cmd, idLpu); } AnatomopathologicalClinicMainDiagnosis acmd = i as AnatomopathologicalClinicMainDiagnosis; if ((acmd != null) && (cmd.DiagnosisInfo.IdDiagnosisType == TestDiagnosis.IdClinicMainDiagnosis)) { doc = new TestClinicMainDiagnosis(acmd, idLpu); } Referral r = i as Referral; if (r != null) { doc = new TestReferral(r, idLpu); } SickList sl = i as SickList; if (sl != null) { doc = new TestSickList(sl, idLpu); } DischargeSummary ds = i as DischargeSummary; if (ds != null) { doc = new TestDischargeSummary(ds, idLpu); } LaboratoryReport lr = i as LaboratoryReport; if (lr != null) { doc = new TestLaboratoryReport(lr, idLpu); } ConsultNote cn = i as ConsultNote; if (cn != null) { doc = new TestConsultNote(cn, idLpu); } DispensaryOne d1 = i as DispensaryOne; if ((d1 != null) && (caseBase.idCaseType == dispensaryId)) { doc = new TestDispensaryOne(d1, idLpu); } AppointedMedication ap = i as AppointedMedication; if (ap != null) { doc = new TestAppointedMedication(ap, idLpu); } Form027U form = i as Form027U; if (form != null) { doc = new TestForm027U(form, idLpu); } if (Global.IsEqual(doc, null)) { Global.errors1.Add("Документ не найден"); return(true); } foreach (TestMedRecord document in this.medRecords) { if (Global.IsEqual(doc, document)) { return(true); } } return(false); }
private List<EMKServise.MedRecord> ConvertMedRecords(MedRecord[] c) { if (((object)c != null) && (c.Length != 0)) { List<EMKServise.MedRecord> lmr = new List<EMKServise.MedRecord>(); foreach (object i in c) { Service ser = i as Service; if (ser != null) { EMKServise.Service eser = new EMKServise.Service(); if (ser.DateEnd != DateTime.MinValue) eser.DateEnd = ser.DateEnd; if (ser.DateStart != DateTime.MinValue) eser.DateStart = ser.DateStart; if (ser.IdServiceType != "") eser.IdServiceType = ser.IdServiceType; eser.PaymentInfo = ConvertPaymentInfo(ser.PaymentInfo); eser.Performer = ConvertParticipant(ser.Performer); if (ser.ServiceName != "") eser.ServiceName = ser.ServiceName; lmr.Add(eser); } TfomsInfo tfi = i as TfomsInfo; if (tfi != null) { EMKServise.TfomsInfo etfi = new EMKServise.TfomsInfo(); etfi.Count = tfi.Count; etfi.IdTfomsType = tfi.IdTfomsType; etfi.Tariff = tfi.Tariff; lmr.Add(etfi); } AppointedMedication ap = i as AppointedMedication; if (ap != null) { EMKServise.AppointedMedication eap = new EMKServise.AppointedMedication(); if (ap.AnatomicTherapeuticChemicalClassification != "") eap.AnatomicTherapeuticChemicalClassification = ap.AnatomicTherapeuticChemicalClassification; eap.CourseDose = ConvertQuantity(ap.CourseDose); eap.DayDose = ConvertQuantity(ap.DayDose); eap.DaysCount = ap.DaysCount; eap.Doctor = ConvertMedicalStaff(ap.Doctor); if (ap.IssuedDate != DateTime.MinValue) eap.IssuedDate = ap.IssuedDate; if (ap.MedicineIssueType != "") eap.MedicineIssueType = ap.MedicineIssueType; if (ap.MedicineName != "") eap.MedicineName = ap.MedicineName; eap.MedicineType = ap.MedicineType; eap.MedicineUseWay = ap.MedicineUseWay; if (ap.Number != "") eap.Number = ap.Number; eap.OneTimeDose = ConvertQuantity(ap.OneTimeDose); if (ap.Seria != "") eap.Seria = ap.Seria; lmr.Add(eap); } DeathInfo di = i as DeathInfo; if (di != null) { EMKServise.DeathInfo edi = new EMKServise.DeathInfo(); if (di.MkbCode != "") edi.MkbCode = di.MkbCode; lmr.Add(edi); } ClinicMainDiagnosis cmd = i as ClinicMainDiagnosis; if ((cmd != null) && (cmd.DiagnosisInfo.IdDiagnosisType == TestDiagnosis.IdClinicMainDiagnosis)) { EMKServise.ClinicMainDiagnosis ecmd = new EMKServise.ClinicMainDiagnosis(); ecmd.Complications = ConvertDiagnosis(cmd.Complications); ecmd.DiagnosisInfo = ConvertDiagnosisInfo(cmd.DiagnosisInfo); ecmd.Doctor = ConvertMedicalStaff(cmd.Doctor); lmr.Add(ecmd); } if (cmd == null) { Diagnosis diag = i as Diagnosis; if ((diag != null) && (diag.DiagnosisInfo.IdDiagnosisType == TestDiagnosis.IdClinicMainDiagnosis)) { EMKServise.ClinicMainDiagnosis ecmd = new EMKServise.ClinicMainDiagnosis(); ecmd.DiagnosisInfo = ConvertDiagnosisInfo(diag.DiagnosisInfo); ecmd.Doctor = ConvertMedicalStaff(diag.Doctor); lmr.Add(ecmd); } if ((diag != null) && (diag.DiagnosisInfo.IdDiagnosisType != TestDiagnosis.IdClinicMainDiagnosis)) { EMKServise.Diagnosis ecmd = new EMKServise.Diagnosis(); ecmd.DiagnosisInfo = ConvertDiagnosisInfo(diag.DiagnosisInfo); ecmd.Doctor = ConvertMedicalStaff(diag.Doctor); lmr.Add(ecmd); } } Referral r = i as Referral; if (r != null) { EMKServise.Referral er = new EMKServise.Referral(); er.Attachment = ConvertAttachment(r.Attachment); er.Author = ConvertMedicalStaff(r.Author); if (r.CreationDate != DateTime.MinValue) er.CreationDate = r.CreationDate; er.DepartmentHead = ConvertMedicalStaff(r.DepartmentHead); if (r.Header != "") er.Header = r.Header; if (r.IdSourceLpu != "") er.IdSourceLpu = r.IdSourceLpu; if (r.IdTargetLpu != "") er.IdTargetLpu = r.IdTargetLpu; if (r.ReferralID != "") er.ReferralID = r.ReferralID; er.ReferralInfo = ConvertReferralInfo(r.ReferralInfo); if (r.RelatedID != "") er.RelatedID = r.RelatedID; lmr.Add(er); } SickList sl = i as SickList; if (sl != null) { EMKServise.SickList esl = new EMKServise.SickList(); esl.Attachment = ConvertAttachment(sl.Attachment); esl.Author = ConvertMedicalStaff(sl.Author); if (sl.CreationDate != DateTime.MinValue) esl.CreationDate = sl.CreationDate; if (sl.Header != "") esl.Header = sl.Header; esl.SickListInfo = ConvertSickListInfo(sl.SickListInfo); lmr.Add(esl); } DischargeSummary ds = i as DischargeSummary; if (ds != null) { EMKServise.DischargeSummary eds = new EMKServise.DischargeSummary(); eds.Attachment = ConvertAttachment(ds.Attachment); eds.Author = ConvertMedicalStaff(ds.Author); if (ds.CreationDate != DateTime.MinValue) eds.CreationDate = ds.CreationDate; if (ds.Header != "") eds.Header = ds.Header; lmr.Add(eds); } LaboratoryReport lr = i as LaboratoryReport; if (lr != null) { EMKServise.LaboratoryReport elr = new EMKServise.LaboratoryReport(); elr.Attachment = ConvertAttachment(lr.Attachment); elr.Author = ConvertMedicalStaff(lr.Author); if (lr.CreationDate != DateTime.MinValue) elr.CreationDate = lr.CreationDate; if (lr.Header != "") elr.Header = lr.Header; lmr.Add(elr); } ConsultNote cn = i as ConsultNote; if (cn != null) { EMKServise.ConsultNote ecn = new EMKServise.ConsultNote(); ecn.Attachment = ConvertAttachment(cn.Attachment); ecn.Author = ConvertMedicalStaff(cn.Author); if (cn.CreationDate != DateTime.MinValue) ecn.CreationDate = cn.CreationDate; if (cn.Header != "") ecn.Header = cn.Header; lmr.Add(ecn); } DispensaryOne d1 = i as DispensaryOne; if (d1 != null) { EMKServise.DispensaryOne ed1 = new EMKServise.DispensaryOne(); ed1.Attachment = ConvertAttachment(d1.Attachment); ed1.Author = ConvertMedicalStaff(d1.Author); if (d1.CreationDate != DateTime.MinValue) ed1.CreationDate = d1.CreationDate; if (d1.Header != "") ed1.Header = d1.Header; ed1.HasExpertCareRefferal = d1.HasExpertCareRefferal; ed1.HasExtraResearchRefferal = d1.HasExtraResearchRefferal; ed1.HasHealthResortRefferal = d1.HasHealthResortRefferal; ed1.HasPrescribeCure = d1.HasPrescribeCure; ed1.HasSecondStageRefferal = d1.HasSecondStageRefferal; ed1.HealthGroup = ConvertHealthGroup(d1.HealthGroup); ed1.IsGuested = d1.IsGuested; ed1.IsUnderObservation = d1.IsUnderObservation; ed1.Recommendations = ConvertRecommendation(d1.Recommendations); lmr.Add(ed1); } } return lmr; } else return null; }
public MedRecordViewModel(Employee employee) { DownloadMedRecords(); currentemployee = employee; FilterCollectionView.Filter = i => { if (_searchKey == "" || _searchKey == null) { return(true); } if (string.IsNullOrEmpty(FilterString)) { return(true); } if (_searchKey == "Фамилия") { MedRecord m = i as MedRecord; return(m.Surname.ToString().StartsWith(FilterString)); } if (_searchKey == "Имя") { MedRecord m = i as MedRecord; return(m.Name.ToString().StartsWith(FilterString)); } if (_searchKey == "Отчество") { MedRecord m = i as MedRecord; return(m.Patronymic.ToString().StartsWith(FilterString)); } if (_searchKey == "Город") { MedRecord m = i as MedRecord; return(m.City.ToString().StartsWith(FilterString)); } if (_searchKey == "Улица") { MedRecord m = i as MedRecord; return(m.Street.ToString().StartsWith(FilterString)); } if (_searchKey == "Дом") { MedRecord m = i as MedRecord; return(m.Home.ToString().StartsWith(FilterString)); } else { return(true); } }; EditMedRecord = new DelegateCommand(() => { editoradd = false; selectedMedRecord?.BeginEdit(); var w = new MedRecordEdit(); w.DataContext = this; w.ShowDialog(); }, () => selectedMedRecord != null); AddMedRecord = new DelegateCommand(() => { editoradd = true; MedRecord NewMedRecord = new MedRecord(); SelectedMedRecord = NewMedRecord; var w = new MedRecordEdit(); w.DataContext = this; w.ShowDialog(); }); SaveMedRecord = new DelegateCommand(() => { if (editoradd == true) { context.MedRecord.Add(selectedMedRecord); context.SaveChanges(); MedRecords.Add(SelectedMedRecord); } else { context.Entry(selectedMedRecord).State = EntityState.Modified; context.SaveChanges(); } }); RemoveMedRecord = new DelegateCommand(() => { if (MessageBox.Show("Удалить?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { context.Entry(selectedMedRecord).State = EntityState.Deleted; MedRecords.Remove(selectedMedRecord); context.SaveChanges(); } else { return; } }, () => selectedMedRecord != null); CanselEdit = new DelegateCommand(() => { if (editoradd == false) { if (selectedMedRecord == null) { return; } SelectedMedRecord.CancelEdit(); } else { return; } }); MedRecordOpen = new DelegateCommand(() => { MedRecordOpenViewModel viewmodel = new MedRecordOpenViewModel(SelectedMedRecord, currentemployee); var w = new OpenMedRecord(); w.DataContext = viewmodel; w.ShowDialog(); }, () => currentemployee.Post.Name == "Врач" || currentemployee.Post.Name == "Администратор"); }