コード例 #1
0
ファイル: TestEmkServiceClient.cs プロジェクト: nbIxMaN/EMKT
 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);
     }
 }
コード例 #2
0
        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());
        }
コード例 #3
0
        public async Task <ActionResult <MedRecord> > PostMedRecord(MedRecord medRecord)
        {
            _context.medRecord.Add(medRecord);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetMedRecord", new { id = medRecord.id }, medRecord));
        }
コード例 #4
0
ファイル: CheckDb.cs プロジェクト: knastya/Fhir-Proxy
        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;
            }
        }
コード例 #5
0
        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);
            }
        }
コード例 #6
0
ファイル: TfomsInfoTest.cs プロジェクト: nbIxMaN/EMKT
        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);
            }
        }
コード例 #7
0
        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);
            }
        }
コード例 #8
0
ファイル: TestEmkServiceClient.cs プロジェクト: nbIxMaN/EMKT
 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);
     }
 }
コード例 #9
0
        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);
            }
        }
コード例 #10
0
        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);
            }
        }
コード例 #11
0
ファイル: CheckDb.cs プロジェクト: knastya/Fhir-Proxy
        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;
        }
コード例 #12
0
ファイル: DiagnosisTests.cs プロジェクト: nbIxMaN/EMKT
 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);
     }
 }
コード例 #13
0
 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);
     }
 }
コード例 #14
0
        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;
            //    }
            //});
        }
コード例 #15
0
        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
        }
コード例 #16
0
ファイル: CheckDb.cs プロジェクト: knastya/Fhir-Proxy
        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;
        }
コード例 #17
0
ファイル: TestMasterCase.cs プロジェクト: nbIxMaN/EMKT
        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;
        }
コード例 #18
0
        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);
        }
コード例 #19
0
ファイル: TestMiacClient.cs プロジェクト: nbIxMaN/EMKT
 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;
 }
コード例 #20
0
ファイル: MedRecordViewModel.cs プロジェクト: qevo92/MedApp
        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 == "Администратор");
        }