Пример #1
0
 private void initIssuedActions(DdtAnamnesis parent)
 {
     if (parent != null)
     {
         IList <DdtIssuedAction> allActions =
             service.GetDdtIssuedActionService().GetListByParentId(parent.ObjectId);
         issuedActionContainer.init(allActions);
     }
 }
Пример #2
0
        public IList <DdtAnamnesis> GetAll()
        {
            IList <DdtAnamnesis> list = new List <DdtAnamnesis>();

            using (dynamic connection = connectionFactory.GetConnection())
            {
                String sql = "SELECT r_object_id, dss_anamnesis_vitae, dss_drugs_intoxication, dss_cardiovascular_system, dsdt_inspection_date, " +
                             "dss_past_surgeries, dss_diagnosis_justification, dsb_template, dss_operation_cause, dss_anamnesis_epid, dss_urinary_system," +
                             " dss_anamnesis_allergy, dss_digestive_system, dss_nervous_system, dss_diagnosis, r_creation_date, dss_complaints, dss_oks_st, " +
                             "dsid_doctor, dsid_patient, dsid_hospitality_session, dss_respiratory_system, r_modify_date, dss_st_presens, dss_template_name," +
                             " dss_accompanying_illnesses, dss_anamnesis_morbi FROM ddt_anamnesis";

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

                Npgsql.NpgsqlCommand command = new Npgsql.NpgsqlCommand(sql, connection);
                using (DbDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        DdtAnamnesis obj = new DdtAnamnesis();
                        obj.ObjectId               = reader.IsDBNull(0) ? null : reader.GetString(0);
                        obj.AnamnesisVitae         = reader.IsDBNull(1) ? null : reader.GetString(1);
                        obj.DrugsIntoxication      = reader.IsDBNull(2) ? null : reader.GetString(2);
                        obj.CardiovascularSystem   = reader.IsDBNull(3) ? null : reader.GetString(3);
                        obj.InspectionDate         = reader.GetDateTime(4);
                        obj.PastSurgeries          = reader.IsDBNull(5) ? null : reader.GetString(5);
                        obj.DiagnosisJustification = reader.IsDBNull(6) ? null : reader.GetString(6);
                        obj.Template               = reader.GetBoolean(7);
                        obj.OperationCause         = reader.IsDBNull(8) ? null : reader.GetString(8);
                        obj.AnamnesisEpid          = reader.IsDBNull(9) ? null : reader.GetString(9);
                        obj.UrinarySystem          = reader.IsDBNull(10) ? null : reader.GetString(10);
                        obj.AnamnesisAllergy       = reader.IsDBNull(11) ? null : reader.GetString(11);
                        obj.DigestiveSystem        = reader.IsDBNull(12) ? null : reader.GetString(12);
                        obj.NervousSystem          = reader.IsDBNull(13) ? null : reader.GetString(13);
                        obj.Diagnosis              = reader.IsDBNull(14) ? null : reader.GetString(14);
                        obj.CreationDate           = reader.GetDateTime(15);
                        obj.Complaints             = reader.IsDBNull(16) ? null : reader.GetString(16);
                        obj.OksSt                 = reader.IsDBNull(17) ? null : reader.GetString(17);
                        obj.Doctor                = reader.IsDBNull(18) ? null : reader.GetString(18);
                        obj.Patient               = reader.IsDBNull(19) ? null : reader.GetString(19);
                        obj.HospitalitySession    = reader.IsDBNull(20) ? null : reader.GetString(20);
                        obj.RespiratorySystem     = reader.IsDBNull(21) ? null : reader.GetString(21);
                        obj.ModifyDate            = reader.GetDateTime(22);
                        obj.StPresens             = reader.IsDBNull(23) ? null : reader.GetString(23);
                        obj.TemplateName          = reader.IsDBNull(24) ? null : reader.GetString(24);
                        obj.AccompanyingIllnesses = reader.IsDBNull(25) ? null : reader.GetString(25);
                        obj.AnamnesisMorbi        = reader.IsDBNull(26) ? null : reader.GetString(26);
                        list.Add(obj);
                    }
                }
            }
            return(list);
        }
Пример #3
0
        private void printBtn_Click(object sender, EventArgs e)
        {
            int           rowCount = patientHistoryGrid.Rows.Count;
            DdvPatient    patient  = service.GetDdvPatientService().GetById(hospitalitySession.Patient);
            List <string> paths    = new List <string>();

            if (printTitlePage.Checked)
            {
                List <string> prePaths = new List <string>();
                Dictionary <string, string> titleDict = new Dictionary <string, string>();
                titleDict.Add("{mednumber}", patient.MedCode);
                titleDict.Add("{admission_date}", hospitalitySession.AdmissionDate.ToShortDateString());
                titleDict.Add("{leaving_date}", DateTime.Now.ToShortDateString());
                titleDict.Add("{med_policy}", patient.Oms);
                titleDict.Add("{room}", hospitalitySession.RoomCell);
                titleDict.Add("{daysinhospital}", (DateTime.Now.Year - hospitalitySession.AdmissionDate.Year) + "");
                DdtSerology serology = service.GetDdtSerologyService().GetByHospitalSession(hospitalitySession.ObjectId);
                titleDict.Add("{blood_n}", serology?.BloodType);
                titleDict.Add("{rhesus}", serology?.RhesusFactor);
                titleDict.Add("{height}", patient.High + "");
                titleDict.Add("{weight}", patient.Weight + "");
                titleDict.Add("{patient_full_name}", patient.FullName);
                titleDict.Add("{sex}", patient.Sex ? "мужской" : "женский");
                titleDict.Add("{passport}", patient.PassportSerial + " " + patient.PassportNum + " " + patient.PassportIssuePlace + " " + patient.PassportDate.ToShortDateString());
                titleDict.Add("{age}", (DateTime.Now.Year - patient.Birthdate.Year) + "");
                titleDict.Add("{birthdate}", patient.Birthdate.ToShortDateString());
                titleDict.Add("{address}", patient.Address);
                DdtAnamnesis firstIspection = service.GetDdtAnamnesisService().GetByHospitalSessionId(hospitalitySession.ObjectId);
                titleDict.Add("{diagnosis_first}", firstIspection?.Diagnosis);
                titleDict.Add("{diagnosis_last}", hospitalitySession.Diagnosis);

                prePaths.Add(TemplatesUtils.FillTemplate(Directory.GetCurrentDirectory() + "\\Templates\\" + "title.docx", titleDict));
                paths.Add(TemplatesUtils.MergeFiles(prePaths.ToArray(), true, null));
            }
            foreach (DataGridViewRow row in patientHistoryGrid.Rows)
            {
                bool checkd = (bool)row.Cells[0].Value;
                if (checkd)
                {
                    ITemplateProcessor te = TemplateProcessorManager.getProcessorByObjectType((string)row.Cells[2].Value);
                    if (te != null)
                    {
                        string pathFile = te.processTemplate(service, hospitalitySession.ObjectId, (string)row.Cells[3].Value, null);
                        paths.Add(pathFile);
                    }
                }
            }
            string resultFileName = TemplatesUtils.getTempFileName("История болезни", patient.FullName);
            string resultPath     = TemplatesUtils.MergeFiles(paths.ToArray(), false, resultFileName);

            TemplatesUtils.ShowDocument(resultPath);
        }
Пример #4
0
        private void deathBtn_Click(object sender, EventArgs e)
        {
            if (!"death.medicine.".Equals(templateName, StringComparison.Ordinal) && isSureChangeTemplate())
            {
                acceptTemplate = true;
                clearSelection();

                DdtAnamnesis template = service.GetDdtAnamnesisService().GetByTemplateName(DEATH_TYPE);
                InitializeAnamnesis(template);
                initIssuedActions(template);
                templateName = "death.medicine.";
                UpdateIssuedMedicineListFromTemplate(templateName);
                deathBtn.BackColor = Color.LightSkyBlue;
            }
        }
Пример #5
0
        private void saveBtn_Click(object sender, EventArgs e)
        {
            bool isValid = false;

            for (int i = 0; i < tabsContainer.TabCount; i++)
            {
                isValid |= getIsValid(i);
            }

            if (isValid)
            {
                if (anamnesis == null)
                {
                    anamnesis = new DdtAnamnesis();
                    anamnesis.DsidHospitalitySession = hospitalSession.ObjectId;
                    anamnesis.DsidDoctor             = hospitalSession.DsidCuringDoctor;
                    anamnesis.DsidPatient            = hospitalSession.DsidPatient;
                }

                anamnesis.DssAccompayingIll     = accompanyingIllnessesTxt.Text;
                anamnesis.DssAnamnesisAllergy   = anamnesisAllergyTxt.Text;
                anamnesis.DssAnamnesisEpid      = anamnesisEpidTxt.Text;
                anamnesis.DssAnamnesisMorbi     = anamnesisMorbiTxt.Text;
                anamnesis.DssAnamnesisVitae     = anamnesisVitaeTxt.Text;
                anamnesis.DssCardioVascular     = cardiovascularSystemTxt.Text;
                anamnesis.DssComplaints         = complaintsTxt.Text;
                anamnesis.DssDiagnosisJustifies = justificationTxt.Text;
                anamnesis.DssDigestiveSystem    = digestiveSystemTxt.Text;
                anamnesis.DssDrugs             = drugsTxt.Text;
                anamnesis.DssNervousSystem     = nervousSystemTxt.Text;
                anamnesis.DssPastSurgeries     = pastSurgeriesTxt.Text;
                anamnesis.DssRespiratorySystem = respiratorySystemTxt.Text;
                anamnesis.DssStPresens         = stPresensTxt.Text;
                anamnesis.DssUrinarySystem     = urinarySystemTxt.Text;

                DataService service = new DataService();
                if (CommonUtils.isBlank(anamnesis.ObjectId))
                {
                    service.insertObject <DdtAnamnesis>(anamnesis, "ddt_anamnesis");
                }
                else
                {
                    service.updateObject <DdtAnamnesis>(anamnesis, "ddt_anamnesis", "r_object_id", anamnesis.ObjectId);
                }
            }
        }
Пример #6
0
        private void InitializeAnamnesis(DdtAnamnesis anamnesis)
        {
            if (anamnesis != null)
            {
                acceptTemplate = true;
                if (!anamnesis.Template)
                {
                    accompanyingIllnessesTxt.Text = anamnesis.AccompanyingIllnesses;
                    anamnesisVitaeTxt.Text        = anamnesis.AnamnesisVitae;
                    pastSurgeriesTxt.Text         = anamnesis.PastSurgeries;
                }
                digestiveSystemTxt.Text      = anamnesis.DigestiveSystem;
                urinarySystemTxt.Text        = anamnesis.UrinarySystem;
                justificationTxt.Text        = anamnesis.DiagnosisJustification;
                anamnesisMorbiTxt.Text       = anamnesis.AnamnesisMorbi;
                complaintsTxt.Text           = anamnesis.Complaints;
                drugsTxt.Text                = anamnesis.DrugsIntoxication;
                stPresensTxt.Text            = anamnesis.StPresens;
                cardiovascularSystemTxt.Text = anamnesis.CardiovascularSystem;
                respiratorySystemTxt.Text    = anamnesis.RespiratorySystem;
                nervousSystemTxt.Text        = anamnesis.NervousSystem;
                anamnesisEpidTxt.Text        = anamnesis.AnamnesisEpid;
                diagnosisTxt.Text            = anamnesis.Diagnosis;
                anamnesisAllergyTxt.Text     = anamnesis.AnamnesisAllergy;
                operationCauseTxt.Text       = anamnesis.OperationCause;
            }

            if (patient.Sd)
            {
                if (!accompanyingIllnessesTxt.Text.Contains("Сахарный диабет"))
                {
                    accompanyingIllnessesTxt.Text += "Сахарный диабет 2 типа, среднетяжелого течения, субкомпенсация. \n";
                }
                if (!diagnosisTxt.Text.Contains("Сахарный диабет"))
                {
                    diagnosisTxt.Text += "Сахарный диабет 2 типа, среднетяжелого течения, субкомпенсация. \n";
                }
            }
        }
Пример #7
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);
            }
        }
Пример #8
0
        private void initializeAnamnesis()
        {
            DataService service = new DataService();

            anamnesis = service.queryObject <DdtAnamnesis>(@"select * from ddt_anamnesis WHERE dsid_hospitality_session='" + hospitalSession.ObjectId + "'");
            if (anamnesis != null)
            {
                digestiveSystemTxt.Text       = anamnesis.DssDigestiveSystem;
                accompanyingIllnessesTxt.Text = anamnesis.DssAccompayingIll;
                anamnesisAllergyTxt.Text      = anamnesis.DssAnamnesisAllergy;
                anamnesisEpidTxt.Text         = anamnesis.DssAnamnesisEpid;
                anamnesisMorbiTxt.Text        = anamnesis.DssAnamnesisMorbi;
                anamnesisVitaeTxt.Text        = anamnesis.DssAnamnesisVitae;
                cardiovascularSystemTxt.Text  = anamnesis.DssCardioVascular;
                complaintsTxt.Text            = anamnesis.DssComplaints;
                justificationTxt.Text         = anamnesis.DssDiagnosisJustifies;
                drugsTxt.Text             = anamnesis.DssDrugs;
                nervousSystemTxt.Text     = anamnesis.DssNervousSystem;
                pastSurgeriesTxt.Text     = anamnesis.DssPastSurgeries;
                respiratorySystemTxt.Text = anamnesis.DssRespiratorySystem;
                stPresensTxt.Text         = anamnesis.DssStPresens;
                urinarySystemTxt.Text     = anamnesis.DssUrinarySystem;
            }
        }
Пример #9
0
        public FirstInspection(IDbDataService service, DdtHospital hospitalitySession)
        {
            this.service         = service;
            this.hospitalSession = hospitalitySession;
            InitializeComponent();
            SilentSaver.setForm(this);

            anamnesis = service.GetDdtAnamnesisService().GetByHospitalSessionId(hospitalSession.ObjectId);

            InitPatientInfo();
            InitDiagnosis();

            InitializeAnamnesis(anamnesis);
            InitIssuedMedicine();
            initIssuedActions(anamnesis);
            InitDoctorComboBox();
            initAlco();

            HighlightChronicButtons();
            analysisTabControl1.init(hospitalSession, anamnesis?.ObjectId, DdtAnamnesis.NAME, new List <string>()
            {
                "ddt_blood_analysis", "ddt_ekg", "ddt_urine_analysis"
            });
        }
Пример #10
0
        private void saveAnamnesis(IDbDataService service)
        {
            if (anamnesis == null)
            {
                anamnesis = new DdtAnamnesis();
                anamnesis.HospitalitySession = hospitalSession.ObjectId;
                anamnesis.Patient            = hospitalSession.Patient;
                anamnesis.InspectionDate     = DateTime.Now;
            }
            DdvDoctor doc = (DdvDoctor)docBox.SelectedItem;

            anamnesis.Doctor = doc.ObjectId;

            anamnesis.AccompanyingIllnesses  = getSafeStringValue(accompanyingIllnessesTxt);
            anamnesis.AnamnesisAllergy       = getSafeStringValue(anamnesisAllergyTxt);
            anamnesis.AnamnesisEpid          = getSafeStringValue(anamnesisEpidTxt);
            anamnesis.AnamnesisMorbi         = getSafeStringValue(anamnesisMorbiTxt);
            anamnesis.AnamnesisVitae         = getSafeStringValue(anamnesisVitaeTxt);
            anamnesis.CardiovascularSystem   = getSafeStringValue(cardiovascularSystemTxt);
            anamnesis.Complaints             = getSafeStringValue(complaintsTxt);
            anamnesis.DiagnosisJustification = getSafeStringValue(justificationTxt);
            anamnesis.DigestiveSystem        = getSafeStringValue(digestiveSystemTxt);
            anamnesis.DrugsIntoxication      = getSafeStringValue(drugsTxt);
            anamnesis.NervousSystem          = getSafeStringValue(nervousSystemTxt);
            anamnesis.PastSurgeries          = getSafeStringValue(pastSurgeriesTxt);
            anamnesis.RespiratorySystem      = getSafeStringValue(respiratorySystemTxt);
            anamnesis.StPresens              = getSafeStringValue(stPresensTxt);
            anamnesis.UrinarySystem          = getSafeStringValue(urinarySystemTxt);
            anamnesis.Diagnosis              = getSafeStringValue(diagnosisTxt);
            anamnesis.OperationCause         = getSafeStringValue(operationCauseTxt);
            anamnesis.DiagnosisJustification = getSafeStringValue(justificationTxt);

            string id = service.GetDdtAnamnesisService().Save(anamnesis);

            anamnesis.ObjectId = id;
        }
Пример #11
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>();
            }
            DdtEpicrisis obj = service.GetDdtEpicrisisService().GetById(objectId);

            values.Add("{diagnosis}", obj.Diagnosis);
            values.Add("{date}", obj.EpicrisisDate.ToShortDateString());

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

            values.Add("{patient.initials}", patient == null ? "" : patient.ShortName);
            values.Add("{patient.age}", patient == null ? "" : (DateTime.Now.Year - patient.Birthdate.Year) + "");

            DdtHospital hospital = service.GetDdtHospitalService().GetById(hospitalitySession);

            values.Add("{patient.admission_date}", hospital.AdmissionDate.ToShortDateString());

            DdtAnamnesis anamnesis = service.GetDdtAnamnesisService().GetByHospitalSessionId(hospital.ObjectId);

            values.Add("{complaints}", anamnesis == null ? " " : anamnesis.Complaints);
            values.Add("{anamnesis}", anamnesis == null ? " " : anamnesis.AnamnesisMorbi);

            StringBuilder inspectonBld = new StringBuilder();

            inspectonBld.Append(CompileValue("St.Presens", anamnesis?.StPresens));
            inspectonBld.Append(CompileValue("Органы дыхания", anamnesis?.RespiratorySystem));
            inspectonBld.Append(CompileValue("Сердечно-сосудистая система", anamnesis?.CardiovascularSystem));
            inspectonBld.Append(CompileValue("Органы пищеварения", anamnesis?.DigestiveSystem));
            values.Add("{inspection}", anamnesis == null ? " " : inspectonBld.ToString());

            DdtSerology   serology    = service.GetDdtSerologyService().GetByHospitalSession(hospital.ObjectId);
            StringBuilder serologyBld = new StringBuilder();

            if (serology != null)
            {
                serologyBld.Append(CompileValue("Группа крови", serology.BloodType));
                serologyBld.Append(CompileValue("Резус-фактор", serology.RhesusFactor));
                serologyBld.Append(CompileValue("RW", serology.Rw));
            }
            values.Add("{serology}", serology == null ? " " : serologyBld.ToString());
            PutAnalysisData(values, service, obj.ObjectId);
            StringBuilder bloodStr = new StringBuilder();

            if (serology != null)
            {
                bloodStr.Append(CompileValue("KELL-ag", serology.KellAg));
                bloodStr.Append(CompileValue("HBs ag", serology.HbsAg));
                bloodStr.Append(CompileValue("Anti HCV крови", serology.AntiHcv));
                bloodStr.Append(CompileValue("HIV", serology.Hiv));
            }
            if (obj.EpicrisisType == (int)DdtEpicrisisDsiType.TRANSFER)
            {
                DdtTransfer transfer = service.GetDdtTransferService().GetByHospitalSession(hospitalitySession);
                if (transfer != null)
                {
                    values.Add("{destination}", transfer.Destination);
                    values.Add("{contact}", transfer.Contacts);
                    values.Add("{transport_justification}", transfer.TransferJustification);
                    values.Add("{patient.release_date}", transfer.StartDate.ToShortDateString());
                }
            }
            else if (obj.EpicrisisType == (int)DdtEpicrisisDsiType.DEATH)
            {
                values.Add("{conclusion}", " ");
            }

            DdvDoctor doc = service.GetDdvDoctorService().GetById(obj.Doctor);

            values.Add("{doctor.who.short}", doc.ShortName);
            DdvDoctor surgery = service.GetDdvDoctorService().GetById(hospital.DutyDoctor);

            values.Add("{surgery}", surgery?.ShortName + "\n");
            DdvDoctor anest = service.GetDdvDoctorService().GetById(hospital.AnesthetistDoctor);

            values.Add("{anestesiolog}", anest?.ShortName);

            string resultFileName = TemplatesUtils.getTempFileName("Эпикриз", patient.FullName);

            return(TemplatesUtils.FillTemplate(Directory.GetCurrentDirectory() + "\\Templates\\" + getTemplateName(obj), values, resultFileName));
        }
Пример #12
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>();
            }
            DdtAnamnesis anamnesis = service.GetDdtAnamnesisService().GetById(objectId);

            values.Add("{allergy}", anamnesis.AnamnesisAllergy);
            values.Add("{complaints}", anamnesis.Complaints);
            values.Add("{anamnesis}", anamnesis.AnamnesisMorbi);
            values.Add("{chronicle}", anamnesis.AccompanyingIllnesses);
            values.Add("{epid}", anamnesis.AnamnesisEpid);
            values.Add("{alco}", anamnesis.DrugsIntoxication);
            values.Add("{st_presens}", anamnesis.StPresens);
            values.Add("{respiratory_system}", anamnesis.RespiratorySystem);
            values.Add("{cardiovascular}", anamnesis.CardiovascularSystem);
            values.Add("{digestive_system}", anamnesis.DigestiveSystem);
            values.Add("{urinary_system}", anamnesis.UrinarySystem);
            values.Add("{nervous_system}", anamnesis.NervousSystem);
            values.Add("{past_surgeries}", anamnesis.PastSurgeries);
            values.Add("{operation_cause}", anamnesis.OperationCause);
            values.Add("{diagnosis}", anamnesis.Diagnosis);
            values.Add("{justification}", anamnesis.DiagnosisJustification);

            DdvDoctor doc = service.GetDdvDoctorService().GetById(anamnesis.Doctor);

            values.Add("{cardio}", doc.ShortName);

            PutAnalysisData(values, service, anamnesis.ObjectId);
            StringBuilder builder = new StringBuilder();

            DdtIssuedMedicineList medList = service.GetDdtIssuedMedicineListService().GetListByParentId(anamnesis?.ObjectId);

            if (medList != null)
            {
                IList <DdtIssuedMedicine> med = service.GetDdtIssuedMedicineService().GetListByMedicineListId(medList.ObjectId);
                for (int i = 0; i < med.Count; i++)
                {
                    DdtCure cure = service.GetDdtCureService().GetById(med[i].Cure);
                    if (cure != null)
                    {
                        builder.Append(cure.Name).Append('\n');
                    }
                }
            }
            values.Add("{issued_medicine}", builder.ToString());

            StringBuilder           actionsBuilder = new StringBuilder();
            IList <DdtIssuedAction> actions        = service.GetDdtIssuedActionService().GetListByParentId(objectId);

            for (int i = 0; i < actions.Count; i++)
            {
                actionsBuilder.Append(i + 1).Append(". ");
                actionsBuilder.Append(actions[i].Action).Append('\n');
            }
            values.Add("{issued_actions}", actionsBuilder.ToString());

            DdtHospital hospital = service.GetDdtHospitalService().GetById(hospitalitySession);

            values.Add("{date}", hospital.AdmissionDate.ToShortDateString() + " " + hospital.AdmissionDate.ToShortTimeString());

            DdvPatient patient    = service.GetDdvPatientService().GetById(hospital.Patient);
            string     resultName = TemplatesUtils.getTempFileName("Первичный осмотр", patient.FullName);

            return(TemplatesUtils.FillTemplate(Directory.GetCurrentDirectory() + "\\Templates\\" + TEMPLATE_FILE_NAME, values, resultName));
        }
Пример #13
0
        public string Save(DdtAnamnesis obj)
        {
            using (dynamic connection = connectionFactory.GetConnection())
            {
                if (GetById(obj.ObjectId) != null)
                {
                    string sql = "UPDATE ddt_anamnesis SET " +
                                 "dsid_hospitality_session = @HospitalitySession, " +
                                 "dsid_patient = @Patient, " +
                                 "dsid_doctor = @Doctor, " +
                                 "dsdt_inspection_date = @InspectionDate, " +
                                 "dss_complaints = @Complaints, " +
                                 "dss_anamnesis_morbi = @AnamnesisMorbi, " +
                                 "dss_anamnesis_vitae = @AnamnesisVitae, " +
                                 "dss_anamnesis_allergy = @AnamnesisAllergy, " +
                                 "dss_anamnesis_epid = @AnamnesisEpid, " +
                                 "dss_past_surgeries = @PastSurgeries, " +
                                 "dss_accompanying_illnesses = @AccompanyingIllnesses, " +
                                 "dss_drugs_intoxication = @DrugsIntoxication, " +
                                 "dss_st_presens = @StPresens, " +
                                 "dss_respiratory_system = @RespiratorySystem, " +
                                 "dss_cardiovascular_system = @CardiovascularSystem, " +
                                 "dss_digestive_system = @DigestiveSystem, " +
                                 "dss_urinary_system = @UrinarySystem, " +
                                 "dss_nervous_system = @NervousSystem, " +
                                 "dss_diagnosis_justification = @DiagnosisJustification, " +
                                 "dss_operation_cause = @OperationCause, " +
                                 "dss_template_name = @TemplateName, " +
                                 "dsb_template = @Template, " +
                                 "dss_diagnosis = @Diagnosis, " +
                                 "dss_oks_st = @OksSt " +
                                 "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("@InspectionDate", obj.InspectionDate);
                        cmd.Parameters.AddWithValue("@Complaints", obj.Complaints == null ? "" : obj.Complaints);
                        cmd.Parameters.AddWithValue("@AnamnesisMorbi", obj.AnamnesisMorbi == null ? "" : obj.AnamnesisMorbi);
                        cmd.Parameters.AddWithValue("@AnamnesisVitae", obj.AnamnesisVitae == null ? "" : obj.AnamnesisVitae);
                        cmd.Parameters.AddWithValue("@AnamnesisAllergy", obj.AnamnesisAllergy == null ? "" : obj.AnamnesisAllergy);
                        cmd.Parameters.AddWithValue("@AnamnesisEpid", obj.AnamnesisEpid == null ? "" : obj.AnamnesisEpid);
                        cmd.Parameters.AddWithValue("@PastSurgeries", obj.PastSurgeries == null ? "" : obj.PastSurgeries);
                        cmd.Parameters.AddWithValue("@AccompanyingIllnesses", obj.AccompanyingIllnesses == null ? "" : obj.AccompanyingIllnesses);
                        cmd.Parameters.AddWithValue("@DrugsIntoxication", obj.DrugsIntoxication == null ? "" : obj.DrugsIntoxication);
                        cmd.Parameters.AddWithValue("@StPresens", obj.StPresens == null ? "" : obj.StPresens);
                        cmd.Parameters.AddWithValue("@RespiratorySystem", obj.RespiratorySystem == null ? "" : obj.RespiratorySystem);
                        cmd.Parameters.AddWithValue("@CardiovascularSystem", obj.CardiovascularSystem == null ? "" : obj.CardiovascularSystem);
                        cmd.Parameters.AddWithValue("@DigestiveSystem", obj.DigestiveSystem == null ? "" : obj.DigestiveSystem);
                        cmd.Parameters.AddWithValue("@UrinarySystem", obj.UrinarySystem == null ? "" : obj.UrinarySystem);
                        cmd.Parameters.AddWithValue("@NervousSystem", obj.NervousSystem == null ? "" : obj.NervousSystem);
                        cmd.Parameters.AddWithValue("@DiagnosisJustification", obj.DiagnosisJustification == null ? "" : obj.DiagnosisJustification);
                        cmd.Parameters.AddWithValue("@OperationCause", obj.OperationCause == null ? "" : obj.OperationCause);
                        cmd.Parameters.AddWithValue("@TemplateName", obj.TemplateName == null ? "" : obj.TemplateName);
                        cmd.Parameters.AddWithValue("@Template", obj.Template);
                        cmd.Parameters.AddWithValue("@Diagnosis", obj.Diagnosis == null ? "" : obj.Diagnosis);
                        cmd.Parameters.AddWithValue("@OksSt", obj.OksSt == null ? "" : obj.OksSt);
                        cmd.Parameters.AddWithValue("@ObjectId", obj.ObjectId);
                        cmd.ExecuteNonQuery();
                    }
                    return(obj.ObjectId);
                }
                else
                {
                    string sql = "INSERT INTO ddt_anamnesis(dsid_hospitality_session,dsid_patient,dsid_doctor,dsdt_inspection_date,dss_complaints,dss_anamnesis_morbi,dss_anamnesis_vitae,dss_anamnesis_allergy,dss_anamnesis_epid,dss_past_surgeries,dss_accompanying_illnesses,dss_drugs_intoxication,dss_st_presens,dss_respiratory_system,dss_cardiovascular_system,dss_digestive_system,dss_urinary_system,dss_nervous_system,dss_diagnosis_justification,dss_operation_cause,dss_template_name,dsb_template,dss_diagnosis,dss_oks_st) " +
                                 "VALUES(@HospitalitySession,@Patient,@Doctor,@InspectionDate,@Complaints,@AnamnesisMorbi,@AnamnesisVitae,@AnamnesisAllergy,@AnamnesisEpid,@PastSurgeries,@AccompanyingIllnesses,@DrugsIntoxication,@StPresens,@RespiratorySystem,@CardiovascularSystem,@DigestiveSystem,@UrinarySystem,@NervousSystem,@DiagnosisJustification,@OperationCause,@TemplateName,@Template,@Diagnosis,@OksSt) 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("@InspectionDate", obj.InspectionDate);
                        cmd.Parameters.AddWithValue("@Complaints", obj.Complaints == null ? "" : obj.Complaints);
                        cmd.Parameters.AddWithValue("@AnamnesisMorbi", obj.AnamnesisMorbi == null ? "" : obj.AnamnesisMorbi);
                        cmd.Parameters.AddWithValue("@AnamnesisVitae", obj.AnamnesisVitae == null ? "" : obj.AnamnesisVitae);
                        cmd.Parameters.AddWithValue("@AnamnesisAllergy", obj.AnamnesisAllergy == null ? "" : obj.AnamnesisAllergy);
                        cmd.Parameters.AddWithValue("@AnamnesisEpid", obj.AnamnesisEpid == null ? "" : obj.AnamnesisEpid);
                        cmd.Parameters.AddWithValue("@PastSurgeries", obj.PastSurgeries == null ? "" : obj.PastSurgeries);
                        cmd.Parameters.AddWithValue("@AccompanyingIllnesses", obj.AccompanyingIllnesses == null ? "" : obj.AccompanyingIllnesses);
                        cmd.Parameters.AddWithValue("@DrugsIntoxication", obj.DrugsIntoxication == null ? "" : obj.DrugsIntoxication);
                        cmd.Parameters.AddWithValue("@StPresens", obj.StPresens == null ? "" : obj.StPresens);
                        cmd.Parameters.AddWithValue("@RespiratorySystem", obj.RespiratorySystem == null ? "" : obj.RespiratorySystem);
                        cmd.Parameters.AddWithValue("@CardiovascularSystem", obj.CardiovascularSystem == null ? "" : obj.CardiovascularSystem);
                        cmd.Parameters.AddWithValue("@DigestiveSystem", obj.DigestiveSystem == null ? "" : obj.DigestiveSystem);
                        cmd.Parameters.AddWithValue("@UrinarySystem", obj.UrinarySystem == null ? "" : obj.UrinarySystem);
                        cmd.Parameters.AddWithValue("@NervousSystem", obj.NervousSystem == null ? "" : obj.NervousSystem);
                        cmd.Parameters.AddWithValue("@DiagnosisJustification", obj.DiagnosisJustification == null ? "" : obj.DiagnosisJustification);
                        cmd.Parameters.AddWithValue("@OperationCause", obj.OperationCause == null ? "" : obj.OperationCause);
                        cmd.Parameters.AddWithValue("@TemplateName", obj.TemplateName == null ? "" : obj.TemplateName);
                        cmd.Parameters.AddWithValue("@Template", obj.Template);
                        cmd.Parameters.AddWithValue("@Diagnosis", obj.Diagnosis == null ? "" : obj.Diagnosis);
                        cmd.Parameters.AddWithValue("@OksSt", obj.OksSt == null ? "" : obj.OksSt);
                        return((string)cmd.ExecuteScalar());
                    }
                }
            }
        }