public DdtEpicrisis GetById(string id) { using (dynamic connection = connectionFactory.GetConnection()) { String sql = String.Format("SELECT dsid_hospitality_session, r_object_id, r_modify_date, dsdt_epicrisis_date, dss_diagnosis, r_creation_date, dsi_epicrisis_type, dsid_doctor, dsid_patient FROM ddt_epicrisis 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()) { DdtEpicrisis obj = new DdtEpicrisis(); obj.HospitalitySession = reader.IsDBNull(0) ? null : reader.GetString(0); obj.ObjectId = reader.IsDBNull(1) ? null : reader.GetString(1); obj.ModifyDate = reader.IsDBNull(2) ? DateTime.MinValue : reader.GetDateTime(2); obj.EpicrisisDate = reader.IsDBNull(3) ? DateTime.MinValue : reader.GetDateTime(3); obj.Diagnosis = reader.IsDBNull(4) ? null : reader.GetString(4); obj.CreationDate = reader.IsDBNull(5) ? DateTime.MinValue : reader.GetDateTime(5); obj.EpicrisisType = reader.IsDBNull(6) ? -1 : reader.GetInt16(6); obj.Doctor = reader.IsDBNull(7) ? null : reader.GetString(7); obj.Patient = reader.IsDBNull(8) ? null : reader.GetString(8); return(obj); } } } return(null); }
private void releasePatientBtn_Click(object sender, EventArgs e) { hospitalitySession.Active = false; hospitalitySession.RejectCure = refusedBtn.Checked; service.GetDdtHospitalService().Save(hospitalitySession); DdtEpicrisis epicrisis = service.GetDdtEpicrisisService().GetById(epicrisisId); if (epicrisis == null) { epicrisis = new DdtEpicrisis(); epicrisis.Doctor = hospitalitySession.CuringDoctor; epicrisis.HospitalitySession = hospitalitySession.ObjectId; epicrisis.Patient = hospitalitySession.Patient; } epicrisis.Diagnosis = hospitalitySession.Diagnosis; epicrisis.EpicrisisDate = DateTime.Now; epicrisis.EpicrisisType = deathBtn.Checked ? (int)DdtEpicrisisDsiType.DEATH : transferBtn.Checked ? (int)DdtEpicrisisDsiType.TRANSFER : (int)DdtEpicrisisDsiType.RELEASE; service.GetDdtEpicrisisService().Save(epicrisis); if (transferBtn.Checked) { MessageBox.Show("Необходимо создать письмо в скорую помощь!", "Предупреждение!", MessageBoxButtons.OK); } else if (deathBtn.Checked) { MessageBox.Show("Необходимо констатировать смерть!", "Предупреждение!", MessageBoxButtons.OK); } Close(); }
private void saveObject() { DdtEpicrisis obj = service.GetDdtEpicrisisService().GetById(objectId); if (obj == null) { obj = new DdtEpicrisis(); obj.Doctor = hospitalitySession.CuringDoctor; obj.HospitalitySession = hospitalitySession.ObjectId; obj.Patient = hospitalitySession.Patient; } obj.EpicrisisDate = epicrisisDateTxt.Value; obj.Diagnosis = diagnosisTxt.Text; obj.EpicrisisType = (int)DdtEpicrisisDsiType.BEFORE_OPERATION; objectId = service.GetDdtEpicrisisService().Save(obj); obj.ObjectId = objectId; DataGridViewRowCollection rows = analysisGrid.Rows; for (int i = 0; i < rows.Count; i++) { DataGridViewRow row = rows[i]; string id = (string)row.Cells[0].Value; string type = (string)row.Cells[1].Value; if (service.GetDdtRelationService().GetByParentAndChildIds(objectId, id) == null) { DdtRelation rel = new DdtRelation(); rel.Child = id; rel.Parent = objectId; rel.ChildType = type; service.GetDdtRelationService().Save(rel); } } }
public string Save(DdtEpicrisis obj) { using (dynamic connection = connectionFactory.GetConnection()) { if (GetById(obj.ObjectId) != null) { string sql = "UPDATE ddt_epicrisis SET " + "dsid_hospitality_session = @HospitalitySession, " + "dsid_patient = @Patient, " + "dsid_doctor = @Doctor, " + "dsdt_epicrisis_date = @EpicrisisDate, " + "dss_diagnosis = @Diagnosis, " + "dsi_epicrisis_type = @EpicrisisType " + "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("@EpicrisisDate", obj.EpicrisisDate); cmd.Parameters.AddWithValue("@Diagnosis", obj.Diagnosis == null ? "" : obj.Diagnosis); cmd.Parameters.AddWithValue("@EpicrisisType", obj.EpicrisisType); cmd.Parameters.AddWithValue("@ObjectId", obj.ObjectId); cmd.ExecuteNonQuery(); } return(obj.ObjectId); } else { string sql = "INSERT INTO ddt_epicrisis(dsid_hospitality_session,dsid_patient,dsid_doctor,dsdt_epicrisis_date,dss_diagnosis,dsi_epicrisis_type) " + "VALUES(@HospitalitySession,@Patient,@Doctor,@EpicrisisDate,@Diagnosis,@EpicrisisType) 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("@EpicrisisDate", obj.EpicrisisDate); cmd.Parameters.AddWithValue("@Diagnosis", obj.Diagnosis == null ? "" : obj.Diagnosis); cmd.Parameters.AddWithValue("@EpicrisisType", obj.EpicrisisType); return((string)cmd.ExecuteScalar()); } } } }
private string getTemplateName(DdtEpicrisis obj) { if (obj.EpicrisisType == (int)DdtEpicrisisDsiType.TRANSFER) { return(TEMPLATE_FILE_NAME_TRANSFER); } else if (obj.EpicrisisType == (int)DdtEpicrisisDsiType.DEATH) { return(TEMPLATE_FILE_NAME_DEATH); } else { return(TEMPLATE_FILE_NAME); } }
private void InitControls() { if (!string.IsNullOrEmpty(objectId)) { DdvPatient patient = service.GetDdvPatientService().GetById(hospitalitySession.Patient); if (patient != null) { Text += " " + patient.ShortName; } DdtEpicrisis epicrisis = service.GetDdtEpicrisisService().GetById(objectId); if (epicrisis != null) { diagnosisTxt.Text = epicrisis.Diagnosis; epicrisisDateTxt.Value = epicrisis.EpicrisisDate; refreshGrid(); } } else { diagnosisTxt.Text = hospitalitySession.Diagnosis; } }
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)); }