Exemple #1
0
        public IList <DdtKag> GetByQuery(string sql)
        {
            IList <DdtKag> list = new List <DdtKag>();

            using (dynamic connection = connectionFactory.GetConnection())
            {
                Logger.Debug(CultureInfo.CurrentCulture, "SQL: {0}", sql);

                Npgsql.NpgsqlCommand command = new Npgsql.NpgsqlCommand(sql, connection);
                using (DbDataReader reader = command.ExecuteReader())
                {
                    if (reader.Read())
                    {
                        DdtKag obj = new DdtKag();
                        obj.ObjectId           = reader.IsDBNull(0) ? null : reader.GetString(0);
                        obj.AnalysisDate       = reader.IsDBNull(1) ? DateTime.MinValue : reader.GetDateTime(1);
                        obj.EndTime            = reader.IsDBNull(2) ? DateTime.MinValue : reader.GetDateTime(2);
                        obj.CreationDate       = reader.IsDBNull(3) ? DateTime.MinValue : reader.GetDateTime(3);
                        obj.Parent             = reader.IsDBNull(4) ? null : reader.GetString(4);
                        obj.KagManipulation    = reader.IsDBNull(5) ? null : reader.GetString(5);
                        obj.Doctor             = reader.IsDBNull(6) ? null : reader.GetString(6);
                        obj.Patient            = reader.IsDBNull(7) ? null : reader.GetString(7);
                        obj.HospitalitySession = reader.IsDBNull(8) ? null : reader.GetString(8);
                        obj.StartTime          = reader.IsDBNull(9) ? DateTime.MinValue : reader.GetDateTime(9);
                        obj.ModifyDate         = reader.IsDBNull(10) ? DateTime.MinValue : reader.GetDateTime(10);
                        obj.ParentType         = reader.IsDBNull(11) ? null : reader.GetString(11);
                        obj.Results            = reader.IsDBNull(12) ? null : reader.GetString(12);
                        obj.KagAction          = reader.IsDBNull(13) ? null : reader.GetString(13);
                        list.Add(obj);
                    }
                }
            }
            return(list);
        }
 public void refreshObject(object obj)
 {
     if (obj != null && obj is DdtKag)
     {
         DdtKag kag = (DdtKag)obj;
         kagResultsTxt.Text      = kag.Results;
         kagManipulationTxt.Text = kag.KagManipulation;
         kagActionsTxt.Text      = kag.KagAction;
         DateTime startTime = kag.StartTime == default(DateTime) ? DateTime.Now : kag.StartTime;
         kagDate.Value      = startTime;
         kagStartTime.Value = startTime;
         kagEndTime.Value   = kag.EndTime == default(DateTime) ? startTime.AddHours(1) : kag.EndTime;
         title.Text         = "Анализы за " + kag.AnalysisDate.ToShortDateString();
         objectId           = kag.ObjectId;
         isNew      = string.IsNullOrEmpty(objectId);
         hasChanges = false;
     }
     else
     {
         DdtHospital hospitalitySession = DbDataService.GetInstance().GetDdtHospitalService().GetById(hospitalSessionId);
         DateTime    admissionDate      = hospitalitySession.AdmissionDate;
         kagDate.Value      = admissionDate;
         kagStartTime.Value = admissionDate.AddMinutes(30);
         kagEndTime.Value   = kagStartTime.Value.AddHours(1);
     }
 }
Exemple #3
0
        public DdtKag GetById(string id)
        {
            using (dynamic connection = connectionFactory.GetConnection())
            {
                String sql = String.Format("SELECT r_object_id, dsdt_analysis_date, dsdt_end_time, r_creation_date, dsid_parent, dss_kag_manipulation, dsid_doctor, dsid_patient, dsid_hospitality_session, dsdt_start_time, r_modify_date, dss_parent_type, dss_results, dss_kag_action FROM ddt_kag WHERE r_object_id = '{0}'", id);

                Logger.Debug(CultureInfo.CurrentCulture, "SQL: {0}", sql);

                Npgsql.NpgsqlCommand command = new Npgsql.NpgsqlCommand(sql, connection);
                using (DbDataReader reader = command.ExecuteReader())
                {
                    if (reader.Read())
                    {
                        DdtKag obj = new DdtKag();
                        obj.ObjectId           = reader.IsDBNull(0) ? null : reader.GetString(0);
                        obj.AnalysisDate       = reader.IsDBNull(1) ? DateTime.MinValue : reader.GetDateTime(1);
                        obj.EndTime            = reader.IsDBNull(2) ? DateTime.MinValue : reader.GetDateTime(2);
                        obj.CreationDate       = reader.IsDBNull(3) ? DateTime.MinValue : reader.GetDateTime(3);
                        obj.Parent             = reader.IsDBNull(4) ? null : reader.GetString(4);
                        obj.KagManipulation    = reader.IsDBNull(5) ? null : reader.GetString(5);
                        obj.Doctor             = reader.IsDBNull(6) ? null : reader.GetString(6);
                        obj.Patient            = reader.IsDBNull(7) ? null : reader.GetString(7);
                        obj.HospitalitySession = reader.IsDBNull(8) ? null : reader.GetString(8);
                        obj.StartTime          = reader.IsDBNull(9) ? DateTime.MinValue : reader.GetDateTime(9);
                        obj.ModifyDate         = reader.IsDBNull(10) ? DateTime.MinValue : reader.GetDateTime(10);
                        obj.ParentType         = reader.IsDBNull(11) ? null : reader.GetString(11);
                        obj.Results            = reader.IsDBNull(12) ? null : reader.GetString(12);
                        obj.KagAction          = reader.IsDBNull(13) ? null : reader.GetString(13);
                        return(obj);
                    }
                }
            }
            return(null);
        }
        private void InitControls()
        {
            DdtKag kag = DbDataService.GetInstance().GetDdtKagService().GetById(objectId);

            refreshObject(kag);
            kagResultsTxt.Enabled      = isEditable;
            kagManipulationTxt.Enabled = isEditable;
            kagActionsTxt.Enabled      = isEditable;
            kagDate.Enabled            = isEditable;
            kagStartTime.Enabled       = isEditable;
            kagEndTime.Enabled         = isEditable;
            showBlanksBtn.Visible      = isEditable;
        }
 private void removeKAG_Click(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(kagId))
     {
         DdtKag kag = service.GetDdtKagService().GetById(kagId);
         if (kag != null)
         {
             kag.Parent = null;
             service.GetDdtKagService().Save(kag);
         }
     }
     kagId = null;
 }
 private void selectKAGBtn_Click(object sender, EventArgs e)
 {
     AnalysisSelector.getInstance().ShowDialog(DdtKag.NAME, "dsid_hospitality_session='" + hospitalitySession.ObjectId + "'", "r_creation_date", "r_object_id", new List <string> {
         ""
     });
     if (AnalysisSelector.getInstance().isSuccess())
     {
         List <string> ids = AnalysisSelector.getInstance().returnValues();
         if (ids.Count > 0)
         {
             DdtKag kag = service.GetDdtKagService().GetById(ids[0]);
             initKag(kag);
         }
     }
 }
        public object getObject()
        {
            DdtKag kag = DbDataService.GetInstance().GetDdtKagService().GetById(objectId);

            if (kag == null)
            {
                kag = new DdtKag();
            }
            kag.KagManipulation = kagManipulationTxt.Text;
            kag.Results         = kagResultsTxt.Text;
            kag.KagAction       = kagActionsTxt.Text;
            kag.StartTime       = CommonUtils.ConstructDateWIthTime(kagDate.Value, kagStartTime.Value);
            kag.AnalysisDate    = CommonUtils.ConstructDateWIthTime(kagDate.Value, kagStartTime.Value);
            kag.EndTime         = CommonUtils.ConstructDateWIthTime(kagDate.Value, kagEndTime.Value);
            return(kag);
        }
        private void initKag(DdtKag kag)
        {
            DateTime dt = hospitalitySession.AdmissionDate.AddHours(1);

            if (kag != null)
            {
                kagDiagnosisTxt.Text = kag.KagAction;
                if (kag.EndTime != default(DateTime))
                {
                    dt = kag.EndTime.AddMinutes(15);
                }
                kagId = kag.ObjectId;
            }
            admissionDateTxt.Value = dt;
            admissionTimeTxt.Value = dt;

            if (dt != default(DateTime) && dt.Hour > 8)
            {
                dt = dt.AddDays(1);
            }
        }
        public void saveObject(DdtHospital hospitalitySession, string parentId, string parentType)
        {
            if (isEditable && (isNew || isDirty()))
            {
                DdtKag kag = (DdtKag)getObject();
                kag.HospitalitySession = hospitalitySession.ObjectId;
                kag.Doctor             = hospitalitySession.CuringDoctor;
                kag.Patient            = hospitalitySession.Patient;
                if (parentId != null)
                {
                    kag.Parent = parentId;
                }
                if (parentType != null)
                {
                    kag.ParentType = parentType;
                }

                objectId   = DbDataService.GetInstance().GetDdtKagService().Save(kag);
                isNew      = false;
                hasChanges = false;
            }
        }
Exemple #10
0
        private void initKag(IDbDataService service, DdtJournal kagJournal)
        {
            bool hasKag = false;

            if (kagJournal != null)
            {
                IList <DdtKag> kags = service.GetDdtKagService().GetByParentId(kagJournal.ObjectId);
                DdtKag         kag  = kags.Count > 0 ? kags[0] : null;
                if (kag != null && inspectionObj != null)
                {
                    kagId = kag.ObjectId;
                    DdtRelation relation = new DdtRelation();
                    relation.Parent    = inspectionObj.ObjectId;
                    relation.Child     = kag.ObjectId;
                    relation.ChildType = DdtKag.NAME;

                    DbDataService.GetInstance().GetDdtRelationService().Save(relation);
                    kagContainer.Visible = true;
                    hasKag = true;
                }
            }
        }
        public string processTemplate(IDbDataService service, string hospitalitySession, string objectId, Dictionary <string, string> aditionalValues)
        {
            Dictionary <string, string> values = null;

            if (aditionalValues != null)
            {
                values = new Dictionary <string, string>(aditionalValues);
            }
            else
            {
                values = new Dictionary <string, string>();
            }
            DdtJournalDay day = service.GetDdtJournalDayService().GetById(objectId);

            PutAnalysisData(values, service, objectId);
            DdvDoctor doc = service.GetDdvDoctorService().GetById(day.Doctor);

            values.Add("{doctor.initials}", doc == null ? "" : doc.ShortName);

            IList <DdtKag> kags     = service.GetDdtKagService().GetByParentId(day.ObjectId);
            DdtKag         kag      = kags.Count > 0 ? kags[0] : null;
            string         kagValue = "";

            if (kag != null)
            {
                kagValue += kag.Results == null ? "" : "У пациента по данным КАГ выявлено:" + kag.Results + "\n";
                kagValue += kag.KagManipulation == null ? "" : "Пациенту выполнено:" + kag.KagManipulation + "\n";
                kagValue += kag.KagAction == null ? "" : "Таким образом, у пациента:" + kag.KagAction + "\n";
            }

            List <string> partsPaths = new List <string>();

            if (day.JournalType == (int)DdtJournalDsiType.AfterKag)
            {
                Dictionary <string, string> first          = new Dictionary <string, string>();
                DdtVariousSpecConcluson     cardiovascular = service.GetDdtVariousSpecConclusonService().GetByParentId(objectId);
                DdvDoctor surgeryDoc = service.GetDdvDoctorService().GetById(cardiovascular?.AdditionalInfo4);
                first.Add("{time}", day.AdmissionDate.ToShortTimeString());
                first.Add("{title}", "Осмотр дежурного кардиореаниматолога " + (doc == null ? "" : doc.ShortName) +
                          " совместно с ангиохирургом " + surgeryDoc?.ShortName + ". \n Пациента доставили из рентгеноперационной.");
                first.Add("{complaints}", "Жалоб на момент осмотра не предъявляет.");
                first.Add("{journal}", JournalShuffleUtils.shuffleJournalText());
                first.Add("{on_monitor}", "");
                first.Add("{monitor}", "");
                first.Add("{doctor.initials}", doc == null ? "" : doc.ShortName);

                first.Add("{kag_diagnosis}", kagValue);
                first.Add("{diagnosis}", kag == null ? "Таким образом, у пациента:" + day.Diagnosis : "");
                PutAnalysisData(first, service, null);
                partsPaths.Add(TemplatesUtils.FillTemplate(Directory.GetCurrentDirectory() + "\\Templates\\" + TEMPLATE_FILE_NAME, first));

                Dictionary <string, string> surgeryValues = new Dictionary <string, string>();
                surgeryValues.Add("{time}", cardiovascular.AdmissionDate.ToShortTimeString());
                surgeryValues.Add("{title}", "Осмотр ренгеноваскулярного хирурга " + surgeryDoc?.ShortName + ". \n");
                surgeryValues.Add("{complaints}", "Жалоб на момент осмотра не предъявляет.");
                surgeryValues.Add("{journal}", cardiovascular?.SpecialistConclusion);
                surgeryValues.Add("{on_monitor}", "");
                surgeryValues.Add("{monitor}", " ");
                surgeryValues.Add("{kag_diagnosis}", " ");
                surgeryValues.Add("{diagnosis}", " ");
                surgeryValues.Add("{doctor.initials}", surgeryDoc == null ? "" : surgeryDoc.ShortName);
                PutAnalysisData(surgeryValues, service, null);
                partsPaths.Add(TemplatesUtils.FillTemplate(Directory.GetCurrentDirectory() + "\\Templates\\" + TEMPLATE_FILE_NAME, surgeryValues));
            }

            List <DdtJournal> journals = service.GetDdtJournalService().GetByJournalDayId(objectId);

            for (int i = 0; i < journals.Count; i++)
            {
                Dictionary <string, string> jrnlValues = new Dictionary <string, string>();
                DdtJournal journal = journals[i];
                jrnlValues.Add("{time}", journal.AdmissionDate.ToShortTimeString());
                jrnlValues.Add("{title}", " ");
                jrnlValues.Add("{complaints}", journal.Complaints);
                jrnlValues.Add("{on_monitor}", string.IsNullOrEmpty(journal.Monitor) ? string.Empty : "По монитору: ");
                jrnlValues.Add("{journal}", journal.Journal);
                jrnlValues.Add("{monitor}", string.IsNullOrEmpty(journal.Monitor) ? string.Empty : journal.Monitor);
                DdvDoctor jrnlDoc = service.GetDdvDoctorService().GetById(journal.Doctor);
                jrnlValues.Add("{doctor.initials}", day.JournalType == (int)DdtJournalDsiType.AfterKag || jrnlDoc == null ? doc?.ShortName : jrnlDoc.ShortName);
                if (i == journals.Count - 1)
                {
                    jrnlValues.Add("{kag_diagnosis}", kagValue);
                    jrnlValues.Add("{diagnosis}", String.IsNullOrEmpty(day.Diagnosis) ? "" : "Таким образом, у пациента:" + day.Diagnosis);
                    PutAnalysisData(jrnlValues, service, objectId);
                }
                else
                {
                    jrnlValues.Add("{kag_diagnosis}", " ");
                    jrnlValues.Add("{diagnosis}", " ");
                    PutAnalysisData(jrnlValues, service, null);
                }
                string mainPart = TemplatesUtils.FillTemplate(Directory.GetCurrentDirectory() + "\\Templates\\" + TEMPLATE_FILE_NAME, jrnlValues);
                partsPaths.Add(mainPart);
            }

            DdvPatient patient    = service.GetDdvPatientService().GetById(day.Patient);
            string     resultName = TemplatesUtils.getTempFileName("Журнал", patient.FullName);

            return(TemplatesUtils.MergeFiles(partsPaths.ToArray(), false, resultName));
        }
Exemple #12
0
        public string Save(DdtKag obj)
        {
            using (dynamic connection = connectionFactory.GetConnection())
            {
                if (GetById(obj.ObjectId) != null)
                {
                    string sql = "UPDATE ddt_kag SET " +
                                 "dsid_hospitality_session = @HospitalitySession, " +
                                 "dsid_patient = @Patient, " +
                                 "dsid_doctor = @Doctor, " +
                                 "dsdt_analysis_date = @AnalysisDate, " +
                                 "dss_results = @Results, " +
                                 "dsdt_start_time = @StartTime, " +
                                 "dsdt_end_time = @EndTime, " +
                                 "dss_kag_manipulation = @KagManipulation, " +
                                 "dss_kag_action = @KagAction, " +
                                 "dsid_parent = @Parent, " +
                                 "dss_parent_type = @ParentType " +
                                 "WHERE r_object_id = @ObjectId";
                    Logger.Debug(CultureInfo.CurrentCulture, "SQL: {0}", sql);

                    using (Npgsql.NpgsqlCommand cmd = new Npgsql.NpgsqlCommand(sql, connection))
                    {
                        cmd.CommandType = CommandType.Text;
                        cmd.Parameters.AddWithValue("@HospitalitySession", obj.HospitalitySession);
                        cmd.Parameters.AddWithValue("@Patient", obj.Patient);
                        cmd.Parameters.AddWithValue("@Doctor", obj.Doctor);
                        cmd.Parameters.AddWithValue("@AnalysisDate", obj.AnalysisDate);
                        cmd.Parameters.AddWithValue("@Results", obj.Results == null ? "" : obj.Results);
                        cmd.Parameters.AddWithValue("@StartTime", obj.StartTime);
                        cmd.Parameters.AddWithValue("@EndTime", obj.EndTime);
                        cmd.Parameters.AddWithValue("@KagManipulation", obj.KagManipulation == null ? "" : obj.KagManipulation);
                        cmd.Parameters.AddWithValue("@KagAction", obj.KagAction == null ? "" : obj.KagAction);
                        cmd.Parameters.AddWithValue("@Parent", obj.Parent == null ? "0000000000000000" : obj.Parent);
                        cmd.Parameters.AddWithValue("@ParentType", obj.ParentType == null ? "" : obj.ParentType);
                        cmd.Parameters.AddWithValue("@ObjectId", obj.ObjectId);
                        cmd.ExecuteNonQuery();
                    }
                    return(obj.ObjectId);
                }
                else
                {
                    string sql = "INSERT INTO ddt_kag(dsid_hospitality_session,dsid_patient,dsid_doctor,dsdt_analysis_date,dss_results,dsdt_start_time,dsdt_end_time,dss_kag_manipulation,dss_kag_action,dsid_parent,dss_parent_type) " +
                                 "VALUES(@HospitalitySession,@Patient,@Doctor,@AnalysisDate,@Results,@StartTime,@EndTime,@KagManipulation,@KagAction,@Parent,@ParentType) RETURNING r_object_id";
                    Logger.Debug(CultureInfo.CurrentCulture, "SQL: {0}", sql);

                    using (Npgsql.NpgsqlCommand cmd = new Npgsql.NpgsqlCommand(sql, connection))
                    {
                        cmd.CommandType = CommandType.Text;
                        cmd.Parameters.AddWithValue("@HospitalitySession", obj.HospitalitySession);
                        cmd.Parameters.AddWithValue("@Patient", obj.Patient);
                        cmd.Parameters.AddWithValue("@Doctor", obj.Doctor);
                        cmd.Parameters.AddWithValue("@AnalysisDate", obj.AnalysisDate);
                        cmd.Parameters.AddWithValue("@Results", obj.Results == null ? "" : obj.Results);
                        cmd.Parameters.AddWithValue("@StartTime", obj.StartTime);
                        cmd.Parameters.AddWithValue("@EndTime", obj.EndTime);
                        cmd.Parameters.AddWithValue("@KagManipulation", obj.KagManipulation == null ? "" : obj.KagManipulation);
                        cmd.Parameters.AddWithValue("@KagAction", obj.KagAction == null ? "" : obj.KagAction);
                        cmd.Parameters.AddWithValue("@Parent", obj.Parent == null ? "0000000000000000" : obj.Parent);
                        cmd.Parameters.AddWithValue("@ParentType", obj.ParentType == null ? "" : obj.ParentType);
                        return((string)cmd.ExecuteScalar());
                    }
                }
            }
        }
Exemple #13
0
        private void initControls()
        {
            wrongDateWarning.Visible = false;
            CommonUtils.InitRangedItems(chssSurgeryTxt, 40, 200);
            CommonUtils.InitRangedItems(chddSurgeryTxt, 14, 26);

            afterKagDiagnosisTxt.Text = hospitalitySession.Diagnosis;

            CommonUtils.InitDoctorsByGroupComboboxValues(service, journalDocBox, "cardioreanimation_department");
            CommonUtils.InitDoctorsByGroupComboboxValues(service, cardioVascularBox, "xray_department");

            DdvPatient patientView = service.GetDdvPatientService().GetById(hospitalitySession.Patient);

            Text += " " + patientView?.ShortName;

            if (!string.IsNullOrEmpty(journalDayId))
            {
                DdtJournalDay journalDay = service.GetDdtJournalDayService().GetById(journalDayId);
                if (journalDay != null)
                {
                    DdtVariousSpecConcluson cardioVascularConcls = service.GetDdtVariousSpecConclusonService().GetByParentId(journalDayId);
                    surgeryInspectationTxt.Text     = cardioVascularConcls?.SpecialistConclusion;
                    chddSurgeryTxt.Text             = cardioVascularConcls?.AdditionalInfo1;
                    adSurgeryTxt.Text               = cardioVascularConcls?.AdditionalInfo3;
                    chssSurgeryTxt.Text             = cardioVascularConcls?.AdditionalInfo2;
                    cardioDate.Value                = cardioVascularConcls == null ? DateTime.Now : cardioVascularConcls.AdmissionDate;
                    cardioTime.Value                = cardioVascularConcls == null ? DateTime.Now : cardioVascularConcls.AdmissionDate;
                    cardioVascularBox.SelectedValue = cardioVascularConcls?.AdditionalInfo4;

                    admissionTimeTxt.Value      = journalDay.AdmissionDate;
                    admissionDateTxt.Value      = journalDay.AdmissionDate;
                    afterKagDiagnosisTxt.Text   = journalDay.Diagnosis;
                    journalDocBox.SelectedValue = journalDay.Doctor;

                    IList <DdtKag> kags = service.GetDdtKagService().GetByParentId(journalDay.ObjectId);
                    DdtKag         kag  = kags.Count > 0 ? kags[0] : null;
                    if (kag != null)
                    {
                        kagDiagnosisTxt.Text = kag.KagAction;
                        kagId = kag.ObjectId;
                        analysisTabControl1.addAnalisis(DdtKag.NAME, "КАГ", kag.ObjectId);
                    }

                    initCardioConslusions(service);
                }
            }
            else
            {
                //Для нового дневника ставим время через 1 час после приема. если есть КАГ, то через 15 мин после КАГ
                String sql = String.Format("SELECT r_object_id, dsdt_analysis_date, dsdt_end_time, r_creation_date, dsid_parent, dss_kag_manipulation, " +
                                           "dsid_doctor, dsid_patient, dsid_hospitality_session, dsdt_start_time, r_modify_date, dss_parent_type, dss_results, dss_kag_action " +
                                           "FROM ddt_kag WHERE dsid_hospitality_session = '{0}' order by dsdt_analysis_date desc", hospitalitySession.ObjectId);
                IList <DdtKag> kags = service.GetDdtKagService().GetByQuery(sql);
                initKag(kags.Count > 0 ? kags[0] : null);

                getIsValid();

                journalDocBox.SelectedValue     = hospitalitySession.CuringDoctor;
                cardioVascularBox.SelectedValue = hospitalitySession.DutyDoctor;
            }
        }
Exemple #14
0
        public bool Save()
        {
            if (!getIsValid())
            {
                return(false);
            }

            service.GetDdtHospitalService().Save(hospitalitySession);

            DdtJournalDay journalDay = null;

            if (!string.IsNullOrEmpty(journalDayId))
            {
                journalDay = service.GetDdtJournalDayService().GetById(journalDayId);
            }
            else
            {
                journalDay                    = new DdtJournalDay();
                journalDay.JournalType        = 1;
                journalDay.HospitalitySession = hospitalitySession.ObjectId;
                journalDay.Patient            = hospitalitySession.Patient;
                journalDay.JournalType        = (int)DdtJournalDsiType.AfterKag;
                //journal.Complaints = "Жалоб на момент осмотра не предъявляет.";
            }
            journalDay.AdmissionDate = CommonUtils.ConstructDateWIthTime(admissionDateTxt.Value, admissionTimeTxt.Value);
            DdvDoctor doc = (DdvDoctor)journalDocBox.SelectedItem;

            journalDay.Doctor    = doc == null ? hospitalitySession.DutyDoctor : doc.ObjectId;
            journalDay.Diagnosis = afterKagDiagnosisTxt.Text;
            journalDayId         = service.GetDdtJournalDayService().Save(journalDay);

            DdtVariousSpecConcluson cardioVascularConc = service.GetDdtVariousSpecConclusonService().GetByParentId(journalDayId);

            if (cardioVascularConc == null)
            {
                cardioVascularConc        = new DdtVariousSpecConcluson();
                cardioVascularConc.Parent = journalDayId;
            }
            cardioVascularConc.AdmissionDate        = CommonUtils.ConstructDateWIthTime(cardioDate.Value, cardioTime.Value);
            cardioVascularConc.SpecialistConclusion = surgeryInspectationTxt.Text;
            cardioVascularConc.AdditionalInfo1      = chddSurgeryTxt.Text;
            cardioVascularConc.AdditionalInfo3      = adSurgeryTxt.Text;
            cardioVascularConc.AdditionalInfo2      = chssSurgeryTxt.Text;
            cardioVascularConc.AdditionalInfo4      = (string)cardioVascularBox.SelectedValue;
            service.GetDdtVariousSpecConclusonService().Save(cardioVascularConc);

            if (!string.IsNullOrEmpty(kagDiagnosisTxt.Text))
            {
                DdtKag kag = service.GetDdtKagService().GetById(kagId);
                if (kag == null)
                {
                    kag                    = new DdtKag();
                    kag.Doctor             = hospitalitySession.CuringDoctor;
                    kag.HospitalitySession = hospitalitySession.ObjectId;
                    kag.Patient            = hospitalitySession.Patient;
                    DateTime admissionDateTime = CommonUtils.ConstructDateWIthTime(admissionDateTxt.Value, admissionTimeTxt.Value);
                    kag.AnalysisDate = admissionDateTime.AddMinutes(-75);
                    kag.StartTime    = admissionDateTime.AddMinutes(-75);
                    kag.EndTime      = admissionDateTime.AddMinutes(-15);
                    kag.KagAction    = kagDiagnosisTxt.Text;
                    kagId            = service.GetDdtKagService().Save(kag);

                    IDdtRelationService relationService = DbDataService.GetInstance().GetDdtRelationService();
                    if (kagId != null && relationService.GetByParentAndChildIds(journalDayId, kagId) == null)
                    {
                        DdtRelation relation = new DdtRelation();
                        relation.Parent    = journalDayId;
                        relation.Child     = kagId;
                        relation.ChildType = DdtJournal.NAME;
                        relationService.Save(relation);
                    }
                }
            }

            for (int i = 0; i < dutyCardioContainer.Controls.Count; i++)
            {
                JournalKAGControl journalCtrl = (JournalKAGControl)dutyCardioContainer.Controls[i];
                journalCtrl.saveObject(hospitalitySession, journalDayId, DdtJournal.NAME);
            }

            analysisTabControl1.save(journalDayId, DdtJournal.NAME);
            return(true);
        }