Exemple #1
0
        public IList <DdtConsilium> GetAll()
        {
            IList <DdtConsilium> list = new List <DdtConsilium>();

            using (dynamic connection = connectionFactory.GetConnection())
            {
                String sql = "SELECT dsid_hospitality_session, r_object_id, dss_goal, dss_dynamics, r_modify_date, dss_duty_admin_name, dss_diagnosis, r_creation_date, dsdt_consilium_date, dss_decision, dsid_doctor, dsid_patient FROM ddt_consilium";

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

                Npgsql.NpgsqlCommand command = new Npgsql.NpgsqlCommand(sql, connection);
                using (DbDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        DdtConsilium obj = new DdtConsilium();
                        obj.HospitalitySession = reader.IsDBNull(0) ? null : reader.GetString(0);
                        obj.ObjectId           = reader.IsDBNull(1) ? null : reader.GetString(1);
                        obj.Goal          = reader.IsDBNull(2) ? null : reader.GetString(2);
                        obj.Dynamics      = reader.IsDBNull(3) ? null : reader.GetString(3);
                        obj.ModifyDate    = reader.IsDBNull(4) ? DateTime.MinValue : reader.GetDateTime(4);
                        obj.DutyAdminName = reader.IsDBNull(5) ? null : reader.GetString(5);
                        obj.Diagnosis     = reader.IsDBNull(6) ? null : reader.GetString(6);
                        obj.CreationDate  = reader.IsDBNull(7) ? DateTime.MinValue : reader.GetDateTime(7);
                        obj.ConsiliumDate = reader.IsDBNull(8) ? DateTime.MinValue : reader.GetDateTime(8);
                        obj.Decision      = reader.IsDBNull(9) ? null : reader.GetString(9);
                        obj.Doctor        = reader.IsDBNull(10) ? null : reader.GetString(10);
                        obj.Patient       = reader.IsDBNull(11) ? null : reader.GetString(11);
                        list.Add(obj);
                    }
                }
            }
            return(list);
        }
Exemple #2
0
        public string Save(DdtConsilium obj)
        {
            using (dynamic connection = connectionFactory.GetConnection())
            {
                if (GetById(obj.ObjectId) != null)
                {
                    string sql = "UPDATE ddt_consilium SET " +
                                 "dsid_hospitality_session = @HospitalitySession, " +
                                 "dsid_patient = @Patient, " +
                                 "dsid_doctor = @Doctor, " +
                                 "dsdt_consilium_date = @ConsiliumDate, " +
                                 "dss_goal = @Goal, " +
                                 "dss_dynamics = @Dynamics, " +
                                 "dss_diagnosis = @Diagnosis, " +
                                 "dss_decision = @Decision, " +
                                 "dss_duty_admin_name = @DutyAdminName " +
                                 "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("@ConsiliumDate", obj.ConsiliumDate);
                        cmd.Parameters.AddWithValue("@Goal", obj.Goal == null ? "" : obj.Goal);
                        cmd.Parameters.AddWithValue("@Dynamics", obj.Dynamics == null ? "" : obj.Dynamics);
                        cmd.Parameters.AddWithValue("@Diagnosis", obj.Diagnosis == null ? "" : obj.Diagnosis);
                        cmd.Parameters.AddWithValue("@Decision", obj.Decision == null ? "" : obj.Decision);
                        cmd.Parameters.AddWithValue("@DutyAdminName", obj.DutyAdminName == null ? "" : obj.DutyAdminName);
                        cmd.Parameters.AddWithValue("@ObjectId", obj.ObjectId);
                        cmd.ExecuteNonQuery();
                    }
                    return(obj.ObjectId);
                }
                else
                {
                    string sql = "INSERT INTO ddt_consilium(dsid_hospitality_session,dsid_patient,dsid_doctor,dsdt_consilium_date,dss_goal,dss_dynamics,dss_diagnosis,dss_decision,dss_duty_admin_name) " +
                                 "VALUES(@HospitalitySession,@Patient,@Doctor,@ConsiliumDate,@Goal,@Dynamics,@Diagnosis,@Decision,@DutyAdminName) 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("@ConsiliumDate", obj.ConsiliumDate);
                        cmd.Parameters.AddWithValue("@Goal", obj.Goal == null ? "" : obj.Goal);
                        cmd.Parameters.AddWithValue("@Dynamics", obj.Dynamics == null ? "" : obj.Dynamics);
                        cmd.Parameters.AddWithValue("@Diagnosis", obj.Diagnosis == null ? "" : obj.Diagnosis);
                        cmd.Parameters.AddWithValue("@Decision", obj.Decision == null ? "" : obj.Decision);
                        cmd.Parameters.AddWithValue("@DutyAdminName", obj.DutyAdminName == null ? "" : obj.DutyAdminName);
                        return((string)cmd.ExecuteScalar());
                    }
                }
            }
        }
Exemple #3
0
        public DdtConsilium GetById(string id)
        {
            using (dynamic connection = connectionFactory.GetConnection())
            {
                String sql = String.Format("SELECT " +
                                           "dsid_hospitality_session, " +
                                           "r_object_id, " +
                                           "dss_goal, " +
                                           "dss_dynamics, " +
                                           "r_modify_date, " +
                                           "dss_duty_admin_name, " +
                                           "dss_diagnosis, " +
                                           "r_creation_date, " +
                                           "dsdt_consilium_date, " +
                                           "dss_decision, " +
                                           "dsid_doctor, " +
                                           "dsid_patient " +
                                           "FROM ddt_consilium 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())
                    {
                        DdtConsilium obj = new DdtConsilium();
                        obj.HospitalitySession = reader.IsDBNull(0) ? null : reader.GetString(0);
                        obj.ObjectId           = reader.IsDBNull(1) ? null : reader.GetString(1);
                        obj.Goal          = reader.IsDBNull(2) ? null : reader.GetString(2);
                        obj.Dynamics      = reader.IsDBNull(3) ? null : reader.GetString(3);
                        obj.ModifyDate    = reader.IsDBNull(4) ? DateTime.MinValue : reader.GetDateTime(4);
                        obj.DutyAdminName = reader.IsDBNull(5) ? null : reader.GetString(5);
                        obj.Diagnosis     = reader.IsDBNull(6) ? null : reader.GetString(6);
                        obj.CreationDate  = reader.IsDBNull(7) ? DateTime.MinValue : reader.GetDateTime(7);
                        obj.ConsiliumDate = reader.IsDBNull(8) ? DateTime.MinValue : reader.GetDateTime(8);
                        obj.Decision      = reader.IsDBNull(9) ? null : reader.GetString(9);
                        obj.Doctor        = reader.IsDBNull(10) ? null : reader.GetString(10);
                        obj.Patient       = reader.IsDBNull(11) ? null : reader.GetString(11);
                        return(obj);
                    }
                }
            }
            return(null);
        }
Exemple #4
0
        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>();
            }

            DdtConsilium obj = service.GetDdtConsiliumService().GetById(objectId);

            values.Add(@"{consilium.date}", DateTime.Now.ToString("dd.MM.yyyy"));
            values.Add(@"{consilium.time}", DateTime.Now.ToString("HH:mm"));
            values.Add(@"{consilium.members}", GetMembersInString(service, objectId));
            values.Add(@"{admin}", obj?.DutyAdminName);
            values.Add(@"{doctor.who}", GetDoctorInString(service, obj.Doctor));
            values.Add(@"{consilium.goal}", obj.Goal);

            DdvPatient patient = service.GetDdvPatientService().GetById(obj.Patient);

            values.Add(@"{patient.initials}", patient.ShortName);
            values.Add(@"{patient.age}", (DateTime.Now.Year - patient.Birthdate.Year) + "");
            values.Add(@"{patient.diagnosis}", obj.Diagnosis);
            values.Add(@"{consilium.decision}", obj.Decision);
            values.Add(@"{journal}", obj.Dynamics);

            PutAnalysisData(values, service, obj.ObjectId);
            if (values.ContainsKey("{on_ekg}"))
            {
                values.Remove("{on_ekg}");
            }
            if (values.ContainsKey("{on_blood}"))
            {
                values.Remove("{on_blood}");
            }
            values.Add("{on_ekg}", "ЭКГ в ОКР:");
            values.Add("{on_blood}", "В анализах крови: ");

            return(TemplatesUtils.FillTemplate(Directory.GetCurrentDirectory() + "\\Templates\\" + TemplateFileName, values, TemplatesUtils.getTempFileName("Консилиум", patient.FullName)));
        }
Exemple #5
0
        private void InitControls()
        {
            curingDoc = service.GetDdvDoctorService().GetById(hospitalitySession?.CuringDoctor);
            ControlUtils.InitDoctorsByGroupName(service.GetDdvDoctorService(), adminTxt, "duty_administrators");
            DdvPatient patient = service.GetDdvPatientService().GetById(hospitalitySession.Patient);

            if (patient != null)
            {
                Text += " " + patient.ShortName;
            }
            diagnosisTxt0.Text = hospitalitySession.Diagnosis;
            if (!string.IsNullOrEmpty(consiliumId))
            {
                DdtConsilium consilium = service.GetDdtConsiliumService().GetById(consiliumId);
                if (consilium != null)
                {
                    goalTxt.Text           = consilium.Goal;
                    dynamicsTxt.Text       = consilium.Dynamics;
                    adminTxt.SelectedIndex = adminTxt.FindStringExact(consilium.DutyAdminName);
                    diagnosisTxt0.Text     = consilium.Diagnosis;
                    decisionTxt.Text       = consilium.Decision;
                    IList <DdtConsiliumRelation> consiliumRelations = service.GetDdtConsiliumRelationService().GetConsiliumRelationsByConsiliumId(consilium.ObjectId);
                    InitMembersByRelations(service, consiliumRelations);
                }
            }
            else
            {
                DdtAnamnesis anamnesis = service.GetDdtAnamnesisService().GetByHospitalSessionId(hospitalitySession.ObjectId);
                if (anamnesis != null)
                {
                    diagnosisTxt0.Text = anamnesis.Diagnosis;
                }

                IList <DdtConsiliumGroupMember> defaultGroupMembers = service.GetDdtConsiliumGroupMemberService().GetDefault();
                InitDefaultMembers(service, defaultGroupMembers);
            }
        }
Exemple #6
0
        public bool Save()
        {
            if (!getIsValid())
            {
                return(false);
            }
            hospitalitySession.Diagnosis = getSafeStringValue(diagnosisTxt1);
            service.GetDdtHospitalService().Save(hospitalitySession);

            DdtConsilium consilium = null;

            if (!string.IsNullOrEmpty(consiliumId))
            {
                consilium = service.GetDdtConsiliumService().GetById(consiliumId);
            }
            else
            {
                consilium = new DdtConsilium
                {
                    ConsiliumDate      = DateTime.Now,
                    HospitalitySession = hospitalitySession.ObjectId,
                    Patient            = hospitalitySession.Patient,
                    Doctor             = hospitalitySession.CuringDoctor
                };
            }
            consilium.Decision      = getSafeStringValue(decisionTxt);
            consilium.Diagnosis     = getSafeStringValue(diagnosisTxt0);
            consilium.DutyAdminName = getSafeStringValue(adminTxt);
            consilium.Dynamics      = getSafeStringValue(dynamicsTxt);
            consilium.Goal          = getSafeStringValue(goalTxt);
            consiliumId             = service.GetDdtConsiliumService().Save(consilium);

            foreach (Control doctorInfoPnl in doctorsContainer.Controls)
            {
                DdtConsiliumRelation consiliumRelation = null;
                String doctorInfoPnlName = getSafeObjectValueUni <string>(doctorInfoPnl, new getValue <string>((ctrl) => (ctrl.Name)));
                string indexstr          = string.Intern(doctorInfoPnlName.Substring(CommonUtils.GetFirstDigitIndex(doctorInfoPnlName)));
                int    indx = Int32.Parse(indexstr);

                Control objectIdCtrl = CommonUtils.FindControl(doctorsContainer, "objectIdLbl" + indx);
                if (!string.IsNullOrEmpty(objectIdCtrl.Text))
                {
                    consiliumRelation = service.GetDdtConsiliumRelationService().GetById(objectIdCtrl.Text);
                }
                else
                {
                    consiliumRelation           = new DdtConsiliumRelation();
                    consiliumRelation.Consilium = consiliumId;
                }

                Control           appCb = CommonUtils.FindControl(doctorsContainer, "appointmentTxt" + indx);
                DdtConsiliumGroup group = getSafeObjectValueUni <DdtConsiliumGroup>(appCb, (ctrl) => ((DdtConsiliumGroup)((ComboBox)ctrl).SelectedItem));

                Control   docCb  = CommonUtils.FindControl(doctorsContainer, "doctorWho" + indx);
                DdvDoctor doctor = getSafeObjectValueUni <DdvDoctor>(docCb, (ctrl) => ((DdvDoctor)((ComboBox)ctrl).SelectedItem));

                if (group != null && doctor != null)
                {
                    DdtConsiliumGroupMember consiliumGroupMember = service.GetDdtConsiliumGroupMemberService().GetByDoctorAndGroupId(doctor.ObjectId, group.ObjectId);
                    consiliumRelation.Member = consiliumGroupMember.ObjectId;
                    service.GetDdtConsiliumRelationService().Save(consiliumRelation);
                }
            }

            foreach (String consiliumRelationId in consiliumRelationToRemove)
            {
                service.Delete(DdtConsiliumRelation.NAME, consiliumRelationId);
            }
            analysisTabControl1.save(consiliumId, DdtConsilium.NAME);            SetConsiliumIdToTransfusion();            return(true);
        }